<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>super bilibili live danmaku displayer on any modern browser which supports javascript to some extent</title>

  <style>
    /*
     * Style Taken from https://github.com/xfgryujk/blivechat
     *
     * MIT License
     *
     * Copyright (c) 2019 xfgryujk
     *
     * Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in all
     * copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     * SOFTWARE.
     */
    html:not(.style-scope) {
      --yt-live-chat-background-color: hsl(0, 0%, 100%);
      --yt-live-chat-action-panel-background-color: hsla(0, 0%, 93.3%, .4);
      --yt-live-chat-action-panel-background-color-transparent: hsla(0, 0%, 97%, .8);
      --yt-live-chat-mode-change-background-color: hsla(0, 0%, 93.3%, .4);
      --yt-live-chat-primary-text-color: hsl(0, 0%, 6.7%);
      --yt-live-chat-secondary-text-color: hsla(0, 0%, 6.7%, .6);
      --yt-live-chat-tertiary-text-color: hsla(0, 0%, 6.7%, .4);
      --yt-live-chat-text-input-field-inactive-underline-color: #b8b8b8;
      --yt-live-chat-text-input-field-placeholder-color: hsla(0, 0%, 6.7%, .6);
      --yt-live-chat-icon-button-color: hsla(0, 0%, 6.7%, .4);
      --yt-live-chat-enabled-send-button-color: #4285f4;
      --yt-live-chat-disabled-icon-button-color: hsla(0, 0%, 6.7%, .2);
      --yt-live-chat-picker-button-color: hsla(0, 0%, 6.7%, .4);
      --yt-live-chat-picker-button-active-color: hsla(0, 0%, 6.7%, .8);
      --yt-live-chat-picker-button-disabled-color: var(--yt-live-chat-disabled-icon-button-color);
      --yt-live-chat-picker-button-hover-color: hsla(0, 0%, 6.7%, .6);
      --yt-live-chat-mention-background-color: #ff5722;
      --yt-live-chat-mention-text-color: hsl(0, 0%, 100%);
      --yt-live-chat-deleted-message-color: rgba(0, 0, 0, .5);
      --yt-live-chat-deleted-message-bar-color: rgba(11, 11, 11, .2);
      --yt-live-chat-disabled-button-background-color: hsl(0, 0%, 93.3%);
      --yt-live-chat-disabled-button-text-color: hsla(0, 0%, 6.7%, .4);
      --yt-live-chat-sub-panel-background-color: hsl(0, 0%, 93.3%);
      --yt-live-chat-sub-panel-background-color-transparent: hsla(0, 0%, 93%, .7);
      --yt-live-chat-header-background-color: hsla(0, 0%, 93.3%, .4);
      --yt-live-chat-header-button-color: hsl(0, 0%, 6.7%);
      --yt-live-chat-error-message-color: hsl(10, 51%, 49%);
      --yt-live-chat-reconnect-message-color: hsla(0, 0%, 7%, 0.2);
      --yt-live-chat-moderator-color: hsl(225, 84%, 66%);
      --yt-live-chat-owner-color: hsl(40, 76%, 55%);
      --yt-live-chat-author-chip-owner-text-color: rgba(0, 0, 0, 0.87);
      --yt-live-chat-author-chip-verified-background-color: #CCCCCC;
      --yt-live-chat-author-chip-verified-text-color: #606060;
      --yt-live-chat-message-highlight-background-color: #f8f8f8;
      --yt-live-chat-sponsor-color: #107516;
      --yt-live-chat-overlay-color: hsla(0, 0%, 0%, 0.6);
      --yt-live-chat-dialog-background-color: hsl(0, 0%, 100%);
      --yt-live-chat-dialog-text-color: hsla(0, 0%, 6.7%, .6);
      --yt-live-chat-poll-choice-text-color: var(--yt-spec-text-secondary);
      --yt-live-chat-poll-choice-border-color: var(--yt-spec-10-percent-layer);
      --yt-live-chat-poll-choice-vote-bar-background-color: hsla(0, 0%, 93.3%, .8);
      --yt-live-chat-poll-choice-vote-bar-background-color-selected: #F2F8FF;
      --yt-live-chat-poll-choice-color-selected: #065FD4;
      --yt-live-chat-moderation-mode-hover-background-color: hsla(0, 0%, 6.7%, .2);
      --yt-live-chat-additional-inline-action-button-color: hsl(0, 0%, 100%);
      --yt-live-chat-additional-inline-action-button-background-color: hsla(0, 0%, 26%, 0.8);
      --yt-live-chat-additional-inline-action-button-background-color-hover: hsla(0, 0%, 26%, 1.0);
      --yt-formatted-string-emoji-size: 24px;
      --yt-live-chat-emoji-size: 24px;
      --yt-live-chat-text-input-field-suggestion-background-color: hsl(0, 0%, 100%);
      --yt-live-chat-text-input-field-suggestion-background-color-hover: #eee;
      --yt-live-chat-text-input-field-suggestion-text-color: #666;
      --yt-live-chat-text-input-field-suggestion-text-color-hover: #333;
      --yt-live-chat-ticker-arrow-background: hsl(0, 0%, 97.3%);
      --yt-emoji-picker-category-background-color: var(--yt-live-chat-action-panel-background-color-transparent);
      --yt-emoji-picker-category-color: var(--yt-live-chat-secondary-text-color);
      --yt-emoji-picker-category-button-color: var(--yt-live-chat-picker-button-color);
      --yt-emoji-picker-search-background-color: hsla(0, 0%, 100%, .6);
      --yt-emoji-picker-search-color: hsla(0, 0%, 6.7%, .8);
      --yt-emoji-picker-search-placeholder-color: hsla(0, 0%, 6.7%, .6);
      --yt-live-chat-slider-active-color: #2196f3;
      --yt-live-chat-slider-container-color: #c8c8c8;
      --yt-live-chat-slider-markers-color: #505050;
      --yt-live-chat-toast-background-color: hsl(0, 0%, 20%);
      --yt-live-chat-toast-text-color: hsl(0, 0%, 100%);
      --yt-live-chat-automod-button-background-color: hsl(0, 0%, 93.3%);
      --yt-live-chat-automod-button-background-color-hover: hsla(0, 0%, 6.7%, .2);
      --yt-live-chat-countdown-opacity: 0.3;
      --yt-live-chat-shimmer-background-color: rgba(136, 136, 136, 0.2);
      --yt-live-chat-shimmer-linear-gradient: linear-gradient(0deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 65%);
      --yt-live-chat-vem-background-color: hsl(0, 0%, 93.3%);
      --yt-live-chat-upsell-dialog-renderer-button-padding: 10px 16px;
      --yt-live-chat-product-picker-icon-color: rgba(17, 17, 17, 0.6);
      --yt-live-chat-product-picker-hover-color: rgba(17, 17, 16, 0.1);
      --yt-live-chat-product-picker-disabled-icon-color: rgba(17, 17, 17, 0.4);
      --yt-pdg-paid-stickers-tab-selection-bar-color: #065FD4;
      --yt-pdg-paid-stickers-author-name-font-size: 13px;
      --yt-pdg-paid-stickers-margin-left: 38px;
    }

  </style>

  <!-- yt-live-chat-app -->
  <style>
    canvas.yt-live-chat-app,
    caption.yt-live-chat-app,
    center.yt-live-chat-app,
    cite.yt-live-chat-app,
    code.yt-live-chat-app,
    dd.yt-live-chat-app,
    del.yt-live-chat-app,
    dfn.yt-live-chat-app,
    div.yt-live-chat-app,
    dl.yt-live-chat-app,
    dt.yt-live-chat-app,
    em.yt-live-chat-app,
    embed.yt-live-chat-app,
    fieldset.yt-live-chat-app,
    font.yt-live-chat-app,
    form.yt-live-chat-app,
    h1.yt-live-chat-app,
    h2.yt-live-chat-app,
    h3.yt-live-chat-app,
    h4.yt-live-chat-app,
    h5.yt-live-chat-app,
    h6.yt-live-chat-app,
    hr.yt-live-chat-app,
    i.yt-live-chat-app,
    iframe.yt-live-chat-app,
    img.yt-live-chat-app,
    ins.yt-live-chat-app,
    kbd.yt-live-chat-app,
    label.yt-live-chat-app,
    legend.yt-live-chat-app,
    li.yt-live-chat-app,
    menu.yt-live-chat-app,
    object.yt-live-chat-app,
    ol.yt-live-chat-app,
    p.yt-live-chat-app,
    pre.yt-live-chat-app,
    q.yt-live-chat-app,
    s.yt-live-chat-app,
    samp.yt-live-chat-app,
    small.yt-live-chat-app,
    span.yt-live-chat-app,
    strike.yt-live-chat-app,
    strong.yt-live-chat-app,
    sub.yt-live-chat-app,
    sup.yt-live-chat-app,
    table.yt-live-chat-app,
    tbody.yt-live-chat-app,
    td.yt-live-chat-app,
    tfoot.yt-live-chat-app,
    th.yt-live-chat-app,
    thead.yt-live-chat-app,
    tr.yt-live-chat-app,
    tt.yt-live-chat-app,
    u.yt-live-chat-app,
    ul.yt-live-chat-app,
    var.yt-live-chat-app {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-app[hidden] {
      display: none !important;
    }

    yt-live-chat-app {
      display: block;
      width: 100vw;
      height: 100vh;
      --yt-report-form-modal-renderer-min-width: 0;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
    }

    #contents.yt-live-chat-app {
      /* yt-live-chat-renderer.yt-live-chat-app { */
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    #contents.yt-live-chat-app>*.yt-live-chat-app {
      /* yt-live-chat-renderer.yt-live-chat-app { */
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    yt-live-chat-app[dashboard-money-feed] #contents.yt-live-chat-app>yt-live-chat-message-renderer.yt-live-chat-app {
      font-size: 18px;
    }

  </style>

  <!-- yt-live-chat-renderer -->
  <style>
    canvas.yt-live-chat-renderer,
    caption.yt-live-chat-renderer,
    center.yt-live-chat-renderer,
    cite.yt-live-chat-renderer,
    code.yt-live-chat-renderer,
    dd.yt-live-chat-renderer,
    del.yt-live-chat-renderer,
    dfn.yt-live-chat-renderer,
    div.yt-live-chat-renderer,
    dl.yt-live-chat-renderer,
    dt.yt-live-chat-renderer,
    em.yt-live-chat-renderer,
    embed.yt-live-chat-renderer,
    fieldset.yt-live-chat-renderer,
    font.yt-live-chat-renderer,
    form.yt-live-chat-renderer,
    h1.yt-live-chat-renderer,
    h2.yt-live-chat-renderer,
    h3.yt-live-chat-renderer,
    h4.yt-live-chat-renderer,
    h5.yt-live-chat-renderer,
    h6.yt-live-chat-renderer,
    hr.yt-live-chat-renderer,
    i.yt-live-chat-renderer,
    iframe.yt-live-chat-renderer,
    img.yt-live-chat-renderer,
    ins.yt-live-chat-renderer,
    kbd.yt-live-chat-renderer,
    label.yt-live-chat-renderer,
    legend.yt-live-chat-renderer,
    li.yt-live-chat-renderer,
    menu.yt-live-chat-renderer,
    object.yt-live-chat-renderer,
    ol.yt-live-chat-renderer,
    p.yt-live-chat-renderer,
    pre.yt-live-chat-renderer,
    q.yt-live-chat-renderer,
    s.yt-live-chat-renderer,
    samp.yt-live-chat-renderer,
    small.yt-live-chat-renderer,
    span.yt-live-chat-renderer,
    strike.yt-live-chat-renderer,
    strong.yt-live-chat-renderer,
    sub.yt-live-chat-renderer,
    sup.yt-live-chat-renderer,
    table.yt-live-chat-renderer,
    tbody.yt-live-chat-renderer,
    td.yt-live-chat-renderer,
    tfoot.yt-live-chat-renderer,
    th.yt-live-chat-renderer,
    thead.yt-live-chat-renderer,
    tr.yt-live-chat-renderer,
    tt.yt-live-chat-renderer,
    u.yt-live-chat-renderer,
    ul.yt-live-chat-renderer,
    var.yt-live-chat-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-renderer[hidden] {
      display: none !important;
    }

    yt-live-chat-renderer {
      font-size: 13px;
      --yt-emoji-picker-renderer-height: 180px;
      --yt-button-default-text-color: var(--yt-live-chat-button-default-text-color);
      --yt-button-default-background-color: var(--yt-live-chat-button-default-background-color);
      --yt-button-dark-text-color: var(--yt-live-chat-button-dark-text-color);
      --yt-button-dark-background-color: var(--yt-live-chat-button-dark-background-color);
      --yt-button-payment-background-color: var(--yt-live-chat-sponsor-color);
    }

    yt-live-chat-renderer {
      position: relative;
      background: var(--yt-live-chat-background-color);
      color: var(--yt-live-chat-primary-text-color);
      overflow: hidden;
      z-index: 0;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
    }

    yt-live-chat-renderer[hide-timestamps] {
      --yt-live-chat-item-timestamp-display: none;
    }

    #separator.yt-live-chat-renderer {
      border-bottom: var(--yt-live-chat-header-bottom-border, none);
    }

    #content-pages.yt-live-chat-renderer {
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    #panel-pages.yt-live-chat-renderer {
      max-height: 100%;
      overflow-x: hidden;
      overflow-y: auto;
    }

    #contents.yt-live-chat-renderer {
      overflow: hidden;
      position: relative;
      z-index: 0;
    }

    #chat-messages.yt-live-chat-renderer,
    #contents.yt-live-chat-renderer,
    #item-list.yt-live-chat-renderer {
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    #ticker.yt-live-chat-renderer {
      z-index: 1;
    }

    #chat.yt-live-chat-renderer {
      position: relative;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    #chat.yt-live-chat-renderer::after {
      content: '';
      display: none;
      animation: gradient-slide 1.2s ease infinite;
      animation-name: gradient-slide;
      background-color: var(--yt-live-chat-shimmer-background-color);
      background-image: var(--yt-live-chat-shimmer-linear-gradient);
      background-size: 300% 300%;
      transform: rotateX(180deg);
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }

    yt-live-chat-renderer[loading] #chat.yt-live-chat-renderer::after {
      display: block;
    }

    yt-live-chat-pinned-message-renderer.yt-live-chat-renderer {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
    }

    yt-live-chat-item-list-renderer.yt-live-chat-renderer,
    yt-live-chat-ninja-message-renderer.yt-live-chat-renderer {
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    #action-panel.yt-live-chat-renderer {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      overflow: hidden;
    }

    yt-live-chat-renderer[has-action-panel-renderer] yt-live-chat-action-panel-renderer.yt-live-chat-renderer {
      animation: slideUp cubic-bezier(0.05, 0.00, 0.00, 1.00) forwards;
      animation-duration: 0.5s;
    }

    #action-panel-backdrop.yt-live-chat-renderer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      visibility: hidden;
    }

    yt-live-chat-renderer[has-action-panel-renderer] #action-panel-backdrop.yt-live-chat-renderer {
      visibility: visible;
      animation: fadeIn cubic-bezier(0.05, 0.00, 0.00, 1.00) forwards;
      animation-duration: 0.5s;
    }

    #input-panel.yt-live-chat-renderer {
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    #input-panel.yt-live-chat-renderer:not(:empty) {
      border-top: var(--yt-live-chat-action-panel-top-border, none);
    }

    .hide-on-collapse.yt-live-chat-renderer {
      transition: opacity 0.3s;
    }

    yt-live-chat-renderer[collapsed] .hide-on-collapse.yt-live-chat-renderer {
      opacity: 0;
    }

    #loading.yt-live-chat-renderer {
      height: 387px;
      background-color: var(--yt-live-chat-action-panel-background-color);
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
    }

    #loading.yt-live-chat-renderer>paper-spinner-lite.yt-live-chat-renderer {
      --paper-spinner-color: var(--yt-live-chat-primary-text-color);
    }

    #nitrate-promo.yt-live-chat-renderer>*.yt-live-chat-renderer {
      background: var(--yt-live-chat-overlay-color);
      z-index: 3;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }

    @keyframes gradient-slide {
      0% {
        background-position: 100% 100%;
      }

      to {
        background-position: 0% 0%;
      }
    }

    @keyframes slideUp {
      0% {
        transform: translateY(15%);
        opacity: 0;
      }

      100% {
        transform: translateY(0);
        opacity: 1;
      }
    }

    @keyframes fadeIn {
      0% {
        background-color: transparent;
      }

      100% {
        background-color: rgba(0, 0, 0, 0.60);
      }
    }

  </style>

  <!-- yt-live-chat-item-list-renderer -->
  <style>
    canvas.yt-live-chat-item-list-renderer,
    caption.yt-live-chat-item-list-renderer,
    center.yt-live-chat-item-list-renderer,
    cite.yt-live-chat-item-list-renderer,
    code.yt-live-chat-item-list-renderer,
    dd.yt-live-chat-item-list-renderer,
    del.yt-live-chat-item-list-renderer,
    dfn.yt-live-chat-item-list-renderer,
    div.yt-live-chat-item-list-renderer,
    dl.yt-live-chat-item-list-renderer,
    dt.yt-live-chat-item-list-renderer,
    em.yt-live-chat-item-list-renderer,
    embed.yt-live-chat-item-list-renderer,
    fieldset.yt-live-chat-item-list-renderer,
    font.yt-live-chat-item-list-renderer,
    form.yt-live-chat-item-list-renderer,
    h1.yt-live-chat-item-list-renderer,
    h2.yt-live-chat-item-list-renderer,
    h3.yt-live-chat-item-list-renderer,
    h4.yt-live-chat-item-list-renderer,
    h5.yt-live-chat-item-list-renderer,
    h6.yt-live-chat-item-list-renderer,
    hr.yt-live-chat-item-list-renderer,
    i.yt-live-chat-item-list-renderer,
    iframe.yt-live-chat-item-list-renderer,
    img.yt-live-chat-item-list-renderer,
    ins.yt-live-chat-item-list-renderer,
    kbd.yt-live-chat-item-list-renderer,
    label.yt-live-chat-item-list-renderer,
    legend.yt-live-chat-item-list-renderer,
    li.yt-live-chat-item-list-renderer,
    menu.yt-live-chat-item-list-renderer,
    object.yt-live-chat-item-list-renderer,
    ol.yt-live-chat-item-list-renderer,
    p.yt-live-chat-item-list-renderer,
    pre.yt-live-chat-item-list-renderer,
    q.yt-live-chat-item-list-renderer,
    s.yt-live-chat-item-list-renderer,
    samp.yt-live-chat-item-list-renderer,
    small.yt-live-chat-item-list-renderer,
    span.yt-live-chat-item-list-renderer,
    strike.yt-live-chat-item-list-renderer,
    strong.yt-live-chat-item-list-renderer,
    sub.yt-live-chat-item-list-renderer,
    sup.yt-live-chat-item-list-renderer,
    table.yt-live-chat-item-list-renderer,
    tbody.yt-live-chat-item-list-renderer,
    td.yt-live-chat-item-list-renderer,
    tfoot.yt-live-chat-item-list-renderer,
    th.yt-live-chat-item-list-renderer,
    thead.yt-live-chat-item-list-renderer,
    tr.yt-live-chat-item-list-renderer,
    tt.yt-live-chat-item-list-renderer,
    u.yt-live-chat-item-list-renderer,
    ul.yt-live-chat-item-list-renderer,
    var.yt-live-chat-item-list-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-item-list-renderer[hidden] {
      display: none !important;
    }

    yt-live-chat-item-list-renderer {
      position: relative;
      display: block;
      overflow: hidden;
      z-index: 0;
    }

    yt-live-chat-item-list-renderer[moderation-mode-enabled] {
      --yt-live-chat-item-with-inline-actions-context-menu-display: none;
      --yt-live-chat-inline-action-button-container-display: flex;
    }

    #contents.yt-live-chat-item-list-renderer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
    }

    #empty-state-message.yt-live-chat-item-list-renderer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
    }

    #empty-state-message.yt-live-chat-item-list-renderer>yt-live-chat-message-renderer.yt-live-chat-item-list-renderer {
      color: var(--yt-live-chat-tertiary-text-color);
      background: transparent;
      font-size: 18px;
      --yt-live-chat-message-renderer-text-align: center;
    }

    yt-icon-button.yt-live-chat-item-list-renderer {
      background-color: #2196f3;
      border-radius: 999px;
      bottom: 0;
      color: #fff;
      cursor: pointer;
      width: 32px;
      height: 32px;
      margin: 0 calc(50% - 16px) 8px calc(50% - 16px);
      padding: 4px;
      position: absolute;
      transition-property: bottom;
      transition-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
      transition-duration: 0.15s;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    }

    yt-icon-button.yt-live-chat-item-list-renderer[disabled] {
      bottom: -42px;
      color: #fff;
      transition-timing-function: cubic-bezier(0.4, 0.0, 1, 1);
    }

    #item-scroller.yt-live-chat-item-list-renderer {
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
      overflow-x: hidden;
      overflow-y: hidden;
      padding-right: var(--scrollbar-width);
    }

    yt-live-chat-item-list-renderer[allow-scroll] #item-scroller.yt-live-chat-item-list-renderer {
      overflow-y: scroll;
      padding-right: 0;
    }

    #item-offset.yt-live-chat-item-list-renderer {
      position: relative;
    }

    #item-scroller.animated.yt-live-chat-item-list-renderer #item-offset.yt-live-chat-item-list-renderer {
      overflow: hidden;
    }

    #items.yt-live-chat-item-list-renderer {
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
      padding: var(--yt-live-chat-item-list-renderer-padding, 4px 0);
    }

    #items.yt-live-chat-item-list-renderer>*.yt-live-chat-item-list-renderer:not(:first-child) {
      border-top: var(--yt-live-chat-item-list-item-border, none);
    }

    #item-scroller.animated.yt-live-chat-item-list-renderer #items.yt-live-chat-item-list-renderer {
      bottom: 0;
      left: 0;
      position: absolute;
      right: 0;
      transform: translateY(0);
    }

    #docked-messages.yt-live-chat-item-list-renderer {
      z-index: 1;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
    }

    yt-live-chat-paid-sticker-renderer.yt-live-chat-item-list-renderer {
      padding: 4px 24px;
    }

    yt-live-chat-paid-sticker-renderer.yt-live-chat-item-list-renderer[dashboard-money-feed] {
      padding: 8px 16px;
    }

    canvas.yt-live-chat-author-badge-renderer,
    caption.yt-live-chat-author-badge-renderer,
    center.yt-live-chat-author-badge-renderer,
    cite.yt-live-chat-author-badge-renderer,
    code.yt-live-chat-author-badge-renderer,
    dd.yt-live-chat-author-badge-renderer,
    del.yt-live-chat-author-badge-renderer,
    dfn.yt-live-chat-author-badge-renderer,
    div.yt-live-chat-author-badge-renderer,
    dl.yt-live-chat-author-badge-renderer,
    dt.yt-live-chat-author-badge-renderer,
    em.yt-live-chat-author-badge-renderer,
    embed.yt-live-chat-author-badge-renderer,
    fieldset.yt-live-chat-author-badge-renderer,
    font.yt-live-chat-author-badge-renderer,
    form.yt-live-chat-author-badge-renderer,
    h1.yt-live-chat-author-badge-renderer,
    h2.yt-live-chat-author-badge-renderer,
    h3.yt-live-chat-author-badge-renderer,
    h4.yt-live-chat-author-badge-renderer,
    h5.yt-live-chat-author-badge-renderer,
    h6.yt-live-chat-author-badge-renderer,
    hr.yt-live-chat-author-badge-renderer,
    i.yt-live-chat-author-badge-renderer,
    iframe.yt-live-chat-author-badge-renderer,
    img.yt-live-chat-author-badge-renderer,
    ins.yt-live-chat-author-badge-renderer,
    kbd.yt-live-chat-author-badge-renderer,
    label.yt-live-chat-author-badge-renderer,
    legend.yt-live-chat-author-badge-renderer,
    li.yt-live-chat-author-badge-renderer,
    menu.yt-live-chat-author-badge-renderer,
    object.yt-live-chat-author-badge-renderer,
    ol.yt-live-chat-author-badge-renderer,
    p.yt-live-chat-author-badge-renderer,
    pre.yt-live-chat-author-badge-renderer,
    q.yt-live-chat-author-badge-renderer,
    s.yt-live-chat-author-badge-renderer,
    samp.yt-live-chat-author-badge-renderer,
    small.yt-live-chat-author-badge-renderer,
    span.yt-live-chat-author-badge-renderer,
    strike.yt-live-chat-author-badge-renderer,
    strong.yt-live-chat-author-badge-renderer,
    sub.yt-live-chat-author-badge-renderer,
    sup.yt-live-chat-author-badge-renderer,
    table.yt-live-chat-author-badge-renderer,
    tbody.yt-live-chat-author-badge-renderer,
    td.yt-live-chat-author-badge-renderer,
    tfoot.yt-live-chat-author-badge-renderer,
    th.yt-live-chat-author-badge-renderer,
    thead.yt-live-chat-author-badge-renderer,
    tr.yt-live-chat-author-badge-renderer,
    tt.yt-live-chat-author-badge-renderer,
    u.yt-live-chat-author-badge-renderer,
    ul.yt-live-chat-author-badge-renderer,
    var.yt-live-chat-author-badge-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-author-badge-renderer[hidden] {
      display: none !important;
    }

    yt-live-chat-author-badge-renderer {
      display: inline-block;
    }

    yt-live-chat-author-badge-renderer[type='moderator'] {
      color: var(--yt-live-chat-moderator-color, #5e84f1);
    }

    yt-live-chat-author-badge-renderer[type='owner'] {
      color: var(--yt-live-chat-owner-color, #ffd600);
    }

    yt-live-chat-author-badge-renderer[type='member'] {
      color: var(--yt-live-chat-sponsor-color, #107516);
    }

    yt-live-chat-author-badge-renderer[type='verified'] {
      color: #999;
    }

    img.yt-live-chat-author-badge-renderer,
    yt-icon.yt-live-chat-author-badge-renderer {
      display: block;
      width: 16px;
      height: 16px;
    }

  </style>

  <!-- yt-icon -->
  <style>
    canvas.yt-icon,
    caption.yt-icon,
    center.yt-icon,
    cite.yt-icon,
    code.yt-icon,
    dd.yt-icon,
    del.yt-icon,
    dfn.yt-icon,
    div.yt-icon,
    dl.yt-icon,
    dt.yt-icon,
    em.yt-icon,
    embed.yt-icon,
    fieldset.yt-icon,
    font.yt-icon,
    form.yt-icon,
    h1.yt-icon,
    h2.yt-icon,
    h3.yt-icon,
    h4.yt-icon,
    h5.yt-icon,
    h6.yt-icon,
    hr.yt-icon,
    i.yt-icon,
    iframe.yt-icon,
    img.yt-icon,
    ins.yt-icon,
    kbd.yt-icon,
    label.yt-icon,
    legend.yt-icon,
    li.yt-icon,
    menu.yt-icon,
    object.yt-icon,
    ol.yt-icon,
    p.yt-icon,
    pre.yt-icon,
    q.yt-icon,
    s.yt-icon,
    samp.yt-icon,
    small.yt-icon,
    span.yt-icon,
    strike.yt-icon,
    strong.yt-icon,
    sub.yt-icon,
    sup.yt-icon,
    table.yt-icon,
    tbody.yt-icon,
    td.yt-icon,
    tfoot.yt-icon,
    th.yt-icon,
    thead.yt-icon,
    tr.yt-icon,
    tt.yt-icon,
    u.yt-icon,
    ul.yt-icon,
    var.yt-icon {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-icon[hidden] {
      display: none !important;
    }

    yt-icon,
    .yt-icon-container.yt-icon {
      display: inline-flex;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      position: relative;
      vertical-align: middle;
      fill: currentcolor;
      stroke: none;
      width: var(--iron-icon-width, 24px);
      height: var(--iron-icon-height, 24px);
    }

    yt-icon.external-container {
      display: none !important;
    }

    canvas.yt-img-shadow,
    caption.yt-img-shadow,
    center.yt-img-shadow,
    cite.yt-img-shadow,
    code.yt-img-shadow,
    dd.yt-img-shadow,
    del.yt-img-shadow,
    dfn.yt-img-shadow,
    div.yt-img-shadow,
    dl.yt-img-shadow,
    dt.yt-img-shadow,
    em.yt-img-shadow,
    embed.yt-img-shadow,
    fieldset.yt-img-shadow,
    font.yt-img-shadow,
    form.yt-img-shadow,
    h1.yt-img-shadow,
    h2.yt-img-shadow,
    h3.yt-img-shadow,
    h4.yt-img-shadow,
    h5.yt-img-shadow,
    h6.yt-img-shadow,
    hr.yt-img-shadow,
    i.yt-img-shadow,
    iframe.yt-img-shadow,
    img.yt-img-shadow,
    ins.yt-img-shadow,
    kbd.yt-img-shadow,
    label.yt-img-shadow,
    legend.yt-img-shadow,
    li.yt-img-shadow,
    menu.yt-img-shadow,
    object.yt-img-shadow,
    ol.yt-img-shadow,
    p.yt-img-shadow,
    pre.yt-img-shadow,
    q.yt-img-shadow,
    s.yt-img-shadow,
    samp.yt-img-shadow,
    small.yt-img-shadow,
    span.yt-img-shadow,
    strike.yt-img-shadow,
    strong.yt-img-shadow,
    sub.yt-img-shadow,
    sup.yt-img-shadow,
    table.yt-img-shadow,
    tbody.yt-img-shadow,
    td.yt-img-shadow,
    tfoot.yt-img-shadow,
    th.yt-img-shadow,
    thead.yt-img-shadow,
    tr.yt-img-shadow,
    tt.yt-img-shadow,
    u.yt-img-shadow,
    ul.yt-img-shadow,
    var.yt-img-shadow {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-img-shadow[hidden] {
      display: none !important;
    }

    yt-img-shadow {
      display: inline-block;
      opacity: 0;
      transition: opacity 0.2s;
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    yt-img-shadow.no-transition {
      opacity: 1;
      transition: none;
    }

    yt-img-shadow.with-placeholder {
      background-color: transparent;
      min-height: unset;
      min-width: unset;
    }

    yt-img-shadow[loaded] {
      opacity: 1;
    }

    yt-img-shadow.empty img.yt-img-shadow {
      visibility: hidden;
    }

    yt-img-shadow[object-fit="FILL"] img.yt-img-shadow,
    yt-img-shadow[fit] img.yt-img-shadow {
      width: 100%;
      height: 100%;
    }

    yt-img-shadow[object-fit="COVER"] img.yt-img-shadow {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    yt-img-shadow[object-fit="CONTAIN"] img.yt-img-shadow {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    yt-img-shadow[object-position="LEFT"] img.yt-img-shadow {
      object-position: left;
    }

    img.yt-img-shadow {
      display: block;
      margin-left: auto;
      margin-right: auto;
      max-height: none;
      max-width: 100%;
      border-radius: none;
    }

    canvas.yt-live-chat-legacy-paid-message-renderer,
    caption.yt-live-chat-legacy-paid-message-renderer,
    center.yt-live-chat-legacy-paid-message-renderer,
    cite.yt-live-chat-legacy-paid-message-renderer,
    code.yt-live-chat-legacy-paid-message-renderer,
    dd.yt-live-chat-legacy-paid-message-renderer,
    del.yt-live-chat-legacy-paid-message-renderer,
    dfn.yt-live-chat-legacy-paid-message-renderer,
    div.yt-live-chat-legacy-paid-message-renderer,
    dl.yt-live-chat-legacy-paid-message-renderer,
    dt.yt-live-chat-legacy-paid-message-renderer,
    em.yt-live-chat-legacy-paid-message-renderer,
    embed.yt-live-chat-legacy-paid-message-renderer,
    fieldset.yt-live-chat-legacy-paid-message-renderer,
    font.yt-live-chat-legacy-paid-message-renderer,
    form.yt-live-chat-legacy-paid-message-renderer,
    h1.yt-live-chat-legacy-paid-message-renderer,
    h2.yt-live-chat-legacy-paid-message-renderer,
    h3.yt-live-chat-legacy-paid-message-renderer,
    h4.yt-live-chat-legacy-paid-message-renderer,
    h5.yt-live-chat-legacy-paid-message-renderer,
    h6.yt-live-chat-legacy-paid-message-renderer,
    hr.yt-live-chat-legacy-paid-message-renderer,
    i.yt-live-chat-legacy-paid-message-renderer,
    iframe.yt-live-chat-legacy-paid-message-renderer,
    img.yt-live-chat-legacy-paid-message-renderer,
    ins.yt-live-chat-legacy-paid-message-renderer,
    kbd.yt-live-chat-legacy-paid-message-renderer,
    label.yt-live-chat-legacy-paid-message-renderer,
    legend.yt-live-chat-legacy-paid-message-renderer,
    li.yt-live-chat-legacy-paid-message-renderer,
    menu.yt-live-chat-legacy-paid-message-renderer,
    object.yt-live-chat-legacy-paid-message-renderer,
    ol.yt-live-chat-legacy-paid-message-renderer,
    p.yt-live-chat-legacy-paid-message-renderer,
    pre.yt-live-chat-legacy-paid-message-renderer,
    q.yt-live-chat-legacy-paid-message-renderer,
    s.yt-live-chat-legacy-paid-message-renderer,
    samp.yt-live-chat-legacy-paid-message-renderer,
    small.yt-live-chat-legacy-paid-message-renderer,
    span.yt-live-chat-legacy-paid-message-renderer,
    strike.yt-live-chat-legacy-paid-message-renderer,
    strong.yt-live-chat-legacy-paid-message-renderer,
    sub.yt-live-chat-legacy-paid-message-renderer,
    sup.yt-live-chat-legacy-paid-message-renderer,
    table.yt-live-chat-legacy-paid-message-renderer,
    tbody.yt-live-chat-legacy-paid-message-renderer,
    td.yt-live-chat-legacy-paid-message-renderer,
    tfoot.yt-live-chat-legacy-paid-message-renderer,
    th.yt-live-chat-legacy-paid-message-renderer,
    thead.yt-live-chat-legacy-paid-message-renderer,
    tr.yt-live-chat-legacy-paid-message-renderer,
    tt.yt-live-chat-legacy-paid-message-renderer,
    u.yt-live-chat-legacy-paid-message-renderer,
    ul.yt-live-chat-legacy-paid-message-renderer,
    var.yt-live-chat-legacy-paid-message-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-legacy-paid-message-renderer[hidden] {
      display: none !important;
    }

    #timestamp.yt-live-chat-legacy-paid-message-renderer {
      display: var(--yt-live-chat-item-timestamp-display, inline);
      margin: var(--yt-live-chat-item-timestamp-margin, 0 8px 0 0);
      color: var(--yt-live-chat-tertiary-text-color);
      font-size: 11px;
    }

    #author-photo.yt-live-chat-legacy-paid-message-renderer {
      display: block;
      margin-right: 16px;
      overflow: hidden;
      border-radius: 50%;
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    #menu-button.yt-live-chat-legacy-paid-message-renderer {
      width: 40px;
      height: 40px;
      padding: 8px;
    }

    #menu.yt-live-chat-legacy-paid-message-renderer {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      transform: translateX(100px);
    }

    yt-live-chat-legacy-paid-message-renderer:hover #menu.yt-live-chat-legacy-paid-message-renderer,
    yt-live-chat-legacy-paid-message-renderer[menu-visible] #menu.yt-live-chat-legacy-paid-message-renderer {
      transform: none;
    }

    yt-live-chat-legacy-paid-message-renderer:focus-within #menu.yt-live-chat-legacy-paid-message-renderer {
      transform: none;
    }

    #inline-action-button-container.yt-live-chat-legacy-paid-message-renderer {
      position: absolute;
      top: -4px;
      right: 0;
      bottom: -4px;
      left: 0;
      background-color: var(--yt-live-chat-moderation-mode-hover-background-color);
      display: none;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
    }

    yt-live-chat-legacy-paid-message-renderer[has-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-legacy-paid-message-renderer {
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      display: var(--yt-live-chat-inline-action-button-container-display, none);
    }

    yt-live-chat-legacy-paid-message-renderer[has-inline-action-buttons][hide-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-legacy-paid-message-renderer {
      display: none;
    }

    yt-live-chat-legacy-paid-message-renderer[has-inline-action-buttons]:hover #menu.yt-live-chat-legacy-paid-message-renderer {
      display: var(--yt-live-chat-item-with-inline-actions-context-menu-display, block);
    }

    #inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer,
    #additional-inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer {
      --yt-button-icon-size: 36px;
      --yt-button-icon-padding: 6px;
      color: hsl(0, 0%, 100%);
      border-radius: 2px;
    }

    #inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer {
      background: hsla(0, 0%, 6.7%, .8);
    }

    #inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>.yt-live-chat-legacy-paid-message-renderer:hover {
      background: hsl(0, 0%, 6.7%);
    }

    #additional-inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer {
      color: var(--yt-live-chat-additional-inline-action-button-color);
      background: var(--yt-live-chat-additional-inline-action-button-background-color);
    }

    #additional-inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>.yt-live-chat-legacy-paid-message-renderer:hover {
      background: var(--yt-live-chat-additional-inline-action-button-background-color-hover);
    }

    #additional-inline-action-buttons.yt-live-chat-legacy-paid-message-renderer:not(:empty) {
      margin-left: 32px;
    }

    #inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer:not(:first-child),
    #additional-inline-action-buttons.yt-live-chat-legacy-paid-message-renderer>*.yt-live-chat-legacy-paid-message-renderer:not(:first-child) {
      margin-left: 8px;
    }

    yt-live-chat-legacy-paid-message-renderer {
      position: relative;
      display: block;
      --yt-live-chat-sponsor-color: #0f9d58;
      --yt-live-chat-item-timestamp-display: var(--yt-live-chat-paid-message-timestamp-display, none);
      padding: 4px 24px;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] {
      padding: 0;
    }

    #card.yt-live-chat-legacy-paid-message-renderer {
      position: relative;
      padding: 8px 16px;
      background-color: var(--yt-live-chat-sponsor-color);
      border-radius: 4px;
      color: #fff;
      font-size: 14px;
      min-height: 40px;
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #card.yt-live-chat-legacy-paid-message-renderer {
      border-radius: 0;
      box-shadow: none;
      background-color: var(--yt-live-chat-background-color);
      color: rgba(0, 0, 0, 0.87);
    }

    #author-photo.yt-live-chat-legacy-paid-message-renderer {
      -ms-align-self: flex-start;
      -webkit-align-self: flex-start;
      align-self: flex-start;
    }

    #author-name.yt-live-chat-legacy-paid-message-renderer {
      display: none;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-legacy-paid-message-renderer {
      display: block;
      margin-right: 8px;
      color: var(--yt-live-chat-secondary-text-color);
      font-weight: 500;
    }

    #content.yt-live-chat-legacy-paid-message-renderer {
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #content.yt-live-chat-legacy-paid-message-renderer {
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #content-primary-column.yt-live-chat-legacy-paid-message-renderer {
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: baseline;
      -webkit-align-items: baseline;
      align-items: baseline;
    }

    #event-text.yt-live-chat-legacy-paid-message-renderer {
      color: rgba(255, 255, 255, 0.7);
      font-weight: 500;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #event-text.yt-live-chat-legacy-paid-message-renderer {
      display: inline;
      height: 24px;
      min-width: 16px;
      border-radius: 12px;
      margin-right: 8px;
      padding: 0 12px;
      background-color: var(--yt-live-chat-sponsor-color);
      color: hsl(0, 0%, 100%);
      display: inline-flex;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.2rem;
    }

    #detail-text.yt-live-chat-legacy-paid-message-renderer {
      font-size: 15px;
      word-wrap: break-word;
      word-break: break-word;
    }

    #detail-text.yt-live-chat-legacy-paid-message-renderer .emoji.yt-live-chat-legacy-paid-message-renderer {
      width: var(--yt-live-chat-emoji-size);
      height: var(--yt-live-chat-emoji-size);
      margin: -1px 2px 1px 2px;
      vertical-align: middle;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #detail-text.yt-live-chat-legacy-paid-message-renderer {
      display: none;
    }

    a.yt-live-chat-legacy-paid-message-renderer {
      display: inline;
      text-decoration: underline;
    }

    #detail-text.yt-live-chat-legacy-paid-message-renderer a.yt-live-chat-legacy-paid-message-renderer {
      word-break: break-all;
    }

    #detail-text.yt-live-chat-legacy-paid-message-renderer a.yt-live-chat-legacy-paid-message-renderer .mention.yt-live-chat-legacy-paid-message-renderer {
      text-decoration: underline;
    }

    #menu.yt-live-chat-legacy-paid-message-renderer {
      background: linear-gradient(to right, transparent, var(--yt-live-chat-sponsor-color) 100%);
      border-radius: 0 4px 4px 0;
    }

    yt-live-chat-legacy-paid-message-renderer[dashboard-money-feed] #menu.yt-live-chat-legacy-paid-message-renderer {
      margin-top: 8px;
      background: linear-gradient(to right, transparent, var(--yt-live-chat-background-color) 40%);
    }

    canvas.yt-live-chat-paid-message-renderer,
    caption.yt-live-chat-paid-message-renderer,
    center.yt-live-chat-paid-message-renderer,
    cite.yt-live-chat-paid-message-renderer,
    code.yt-live-chat-paid-message-renderer,
    dd.yt-live-chat-paid-message-renderer,
    del.yt-live-chat-paid-message-renderer,
    dfn.yt-live-chat-paid-message-renderer,
    div.yt-live-chat-paid-message-renderer,
    dl.yt-live-chat-paid-message-renderer,
    dt.yt-live-chat-paid-message-renderer,
    em.yt-live-chat-paid-message-renderer,
    embed.yt-live-chat-paid-message-renderer,
    fieldset.yt-live-chat-paid-message-renderer,
    font.yt-live-chat-paid-message-renderer,
    form.yt-live-chat-paid-message-renderer,
    h1.yt-live-chat-paid-message-renderer,
    h2.yt-live-chat-paid-message-renderer,
    h3.yt-live-chat-paid-message-renderer,
    h4.yt-live-chat-paid-message-renderer,
    h5.yt-live-chat-paid-message-renderer,
    h6.yt-live-chat-paid-message-renderer,
    hr.yt-live-chat-paid-message-renderer,
    i.yt-live-chat-paid-message-renderer,
    iframe.yt-live-chat-paid-message-renderer,
    img.yt-live-chat-paid-message-renderer,
    ins.yt-live-chat-paid-message-renderer,
    kbd.yt-live-chat-paid-message-renderer,
    label.yt-live-chat-paid-message-renderer,
    legend.yt-live-chat-paid-message-renderer,
    li.yt-live-chat-paid-message-renderer,
    menu.yt-live-chat-paid-message-renderer,
    object.yt-live-chat-paid-message-renderer,
    ol.yt-live-chat-paid-message-renderer,
    p.yt-live-chat-paid-message-renderer,
    pre.yt-live-chat-paid-message-renderer,
    q.yt-live-chat-paid-message-renderer,
    s.yt-live-chat-paid-message-renderer,
    samp.yt-live-chat-paid-message-renderer,
    small.yt-live-chat-paid-message-renderer,
    span.yt-live-chat-paid-message-renderer,
    strike.yt-live-chat-paid-message-renderer,
    strong.yt-live-chat-paid-message-renderer,
    sub.yt-live-chat-paid-message-renderer,
    sup.yt-live-chat-paid-message-renderer,
    table.yt-live-chat-paid-message-renderer,
    tbody.yt-live-chat-paid-message-renderer,
    td.yt-live-chat-paid-message-renderer,
    tfoot.yt-live-chat-paid-message-renderer,
    th.yt-live-chat-paid-message-renderer,
    thead.yt-live-chat-paid-message-renderer,
    tr.yt-live-chat-paid-message-renderer,
    tt.yt-live-chat-paid-message-renderer,
    u.yt-live-chat-paid-message-renderer,
    ul.yt-live-chat-paid-message-renderer,
    var.yt-live-chat-paid-message-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-paid-message-renderer[hidden] {
      display: none !important;
    }

    #timestamp.yt-live-chat-paid-message-renderer {
      display: var(--yt-live-chat-item-timestamp-display, inline);
      margin: var(--yt-live-chat-item-timestamp-margin, 0 8px 0 0);
      color: var(--yt-live-chat-tertiary-text-color);
      font-size: 11px;
    }

    #author-photo.yt-live-chat-paid-message-renderer {
      display: block;
      margin-right: 16px;
      overflow: hidden;
      border-radius: 50%;
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    #menu-button.yt-live-chat-paid-message-renderer {
      width: 40px;
      height: 40px;
      padding: 8px;
    }

    #menu.yt-live-chat-paid-message-renderer {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      transform: translateX(100px);
    }

    yt-live-chat-paid-message-renderer:hover #menu.yt-live-chat-paid-message-renderer,
    yt-live-chat-paid-message-renderer[menu-visible] #menu.yt-live-chat-paid-message-renderer {
      transform: none;
    }

    yt-live-chat-paid-message-renderer:focus-within #menu.yt-live-chat-paid-message-renderer {
      transform: none;
    }

    #inline-action-button-container.yt-live-chat-paid-message-renderer {
      position: absolute;
      top: -4px;
      right: 0;
      bottom: -4px;
      left: 0;
      background-color: var(--yt-live-chat-moderation-mode-hover-background-color);
      display: none;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
    }

    yt-live-chat-paid-message-renderer[has-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-paid-message-renderer {
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      display: var(--yt-live-chat-inline-action-button-container-display, none);
    }

    yt-live-chat-paid-message-renderer[has-inline-action-buttons][hide-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-paid-message-renderer {
      display: none;
    }

    yt-live-chat-paid-message-renderer[has-inline-action-buttons]:hover #menu.yt-live-chat-paid-message-renderer {
      display: var(--yt-live-chat-item-with-inline-actions-context-menu-display, block);
    }

    #inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer,
    #additional-inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer {
      --yt-button-icon-size: 36px;
      --yt-button-icon-padding: 6px;
      color: hsl(0, 0%, 100%);
      border-radius: 2px;
    }

    #inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer {
      background: hsla(0, 0%, 6.7%, .8);
    }

    #inline-action-buttons.yt-live-chat-paid-message-renderer>.yt-live-chat-paid-message-renderer:hover {
      background: hsl(0, 0%, 6.7%);
    }

    #additional-inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer {
      color: var(--yt-live-chat-additional-inline-action-button-color);
      background: var(--yt-live-chat-additional-inline-action-button-background-color);
    }

    #additional-inline-action-buttons.yt-live-chat-paid-message-renderer>.yt-live-chat-paid-message-renderer:hover {
      background: var(--yt-live-chat-additional-inline-action-button-background-color-hover);
    }

    #additional-inline-action-buttons.yt-live-chat-paid-message-renderer:not(:empty) {
      margin-left: 32px;
    }

    #inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer:not(:first-child),
    #additional-inline-action-buttons.yt-live-chat-paid-message-renderer>*.yt-live-chat-paid-message-renderer:not(:first-child) {
      margin-left: 8px;
    }

    yt-live-chat-paid-message-renderer {
      position: relative;
      display: block;
      padding: 4px 24px;
      font-size: 15px;
      --yt-live-chat-paid-message-background-color: var(--yt-live-chat-paid-message-primary-color);
      --yt-live-chat-paid-message-header-background-color: var(--yt-live-chat-paid-message-secondary-color);
      --yt-live-chat-text-input-field-placeholder-color: var(--yt-live-chat-paid-message-color);
      --yt-live-chat-item-timestamp-display: var(--yt-live-chat-paid-message-timestamp-display, none);
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] {
      padding: 0;
      padding-bottom: 8px;
      --yt-live-chat-paid-message-background-color: transparent;
      --yt-live-chat-paid-message-header-background-color: transparent;
      --yt-live-chat-item-timestamp-display: block;
    }

    #card.yt-live-chat-paid-message-renderer {
      border-radius: 4px;
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #card.yt-live-chat-paid-message-renderer {
      border-radius: 0;
      box-shadow: none;
    }

    #header.yt-live-chat-paid-message-renderer {
      position: relative;
      background-color: var(--yt-live-chat-paid-message-header-background-color, #125aac);
      color: var(--yt-live-chat-paid-message-header-color, #fff);
      font-weight: 500;
      padding: 8px 16px;
      min-height: 20px;
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      border-top-left-radius: 4px;
      border-top-right-radius: 4px;
    }

    yt-live-chat-paid-message-renderer[show-only-header] #header.yt-live-chat-paid-message-renderer {
      border-bottom-left-radius: 4px;
      border-bottom-right-radius: 4px;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #header.yt-live-chat-paid-message-renderer {
      color: var(--yt-live-chat-secondary-text-color);
      padding-bottom: 0;
    }

    #author-photo.yt-live-chat-paid-message-renderer {
      width: 40px;
      height: 40px;
    }

    yt-icon#author-photo.yt-live-chat-paid-message-renderer {
      display: none;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] yt-icon#author-photo.yt-live-chat-paid-message-renderer {
      display: block;
    }

    #header-content.yt-live-chat-paid-message-renderer {
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
      -ms-flex-align: baseline;
      -webkit-align-items: baseline;
      align-items: baseline;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #header-content.yt-live-chat-paid-message-renderer {
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
    }

    #header-content-primary-column.yt-live-chat-paid-message-renderer {
      display: flex;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -ms-flex: 1 1 0.000000001px;
      -webkit-flex: 1;
      flex: 1;
      -webkit-flex-basis: 0.000000001px;
      flex-basis: 0.000000001px;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #header-content-primary-column.yt-live-chat-paid-message-renderer {
      margin-bottom: 4px;
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: baseline;
      -webkit-align-items: baseline;
      align-items: baseline;
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    #author-name.yt-live-chat-paid-message-renderer {
      color: var(--yt-live-chat-paid-message-author-name-color, rgba(255, 255, 255, 0.7));
      font-size: 14px;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-paid-message-renderer {
      margin-right: 8px;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #purchase-amount.yt-live-chat-paid-message-renderer {
      display: inline;
      height: 24px;
      min-width: 16px;
      border-radius: 12px;
      margin-right: 8px;
      padding: 0 12px;
      background-color: var(--yt-live-chat-paid-message-primary-color);
      color: var(--yt-live-chat-paid-message-color);
      display: inline-flex;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.2rem;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-paid-message-renderer {
      display: block;
      color: var(--yt-live-chat-secondary-text-color);
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-paid-message-renderer[is-deleted] {
      margin: 4px 0 0;
      order: 1;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-paid-message-renderer[is-deleted].yt-live-chat-paid-message-renderer::before {
      content: 'â€‹';
      display: inline;
      width: 0;
    }

    #menu.yt-live-chat-paid-message-renderer {
      background: linear-gradient(to right, transparent, var(--yt-live-chat-paid-message-header-background-color, #125aac) 100%);
      border-radius: 0 4px 4px 0;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #menu.yt-live-chat-paid-message-renderer {
      margin-top: 8px;
      background: linear-gradient(to right, transparent, var(--yt-live-chat-background-color) 40%);
    }

    yt-live-chat-paid-message-renderer[allow-animations] #content.yt-live-chat-paid-message-renderer,
    yt-live-chat-paid-message-renderer[allow-animations] #header.yt-live-chat-paid-message-renderer {
      transition-property: background-color, color;
      transition-duration: 0.2s;
    }

    #content.yt-live-chat-paid-message-renderer {
      background-color: var(--yt-live-chat-paid-message-background-color, #1565c0);
      color: var(--yt-live-chat-paid-message-color, #fff);
      padding: 8px 16px;
      word-wrap: break-word;
      word-break: break-word;
      border-bottom-left-radius: 4px;
      border-bottom-right-radius: 4px;
    }

    #content.yt-live-chat-paid-message-renderer img.yt-live-chat-paid-message-renderer {
      width: var(--yt-live-chat-emoji-size);
      height: var(--yt-live-chat-emoji-size);
      margin: -1px 2px 1px 2px;
      vertical-align: middle;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #content.yt-live-chat-paid-message-renderer {
      padding: 0;
      padding-left: 72px;
      color: var(--yt-live-chat-secondary-text-color);
    }

    yt-live-chat-paid-message-renderer[show-only-header] #content.yt-live-chat-paid-message-renderer {
      visibility: hidden;
      padding: 0;
    }

    a.yt-live-chat-paid-message-renderer {
      display: inline;
      text-decoration: underline;
    }

    #message.yt-live-chat-paid-message-renderer a.yt-live-chat-paid-message-renderer {
      word-break: break-all;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #message.yt-live-chat-paid-message-renderer {
      margin-top: 4px;
    }

    #message.yt-live-chat-paid-message-renderer a.yt-live-chat-paid-message-renderer .mention.yt-live-chat-paid-message-renderer {
      text-decoration: underline;
    }

    #message.yt-live-chat-paid-message-renderer:empty,
    #author-name.yt-live-chat-paid-message-renderer:empty:not([is-deleted]).yt-live-chat-paid-message-renderer,
    #deleted-state.yt-live-chat-paid-message-renderer:empty {
      display: none;
    }

    #deleted-state.yt-live-chat-paid-message-renderer {
      display: block;
      font-style: italic;
      opacity: 0.7;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #deleted-state.yt-live-chat-paid-message-renderer[is-deleted] {
      margin-top: 4px;
    }

    yt-live-chat-paid-message-renderer[dashboard-money-feed] #author-name.yt-live-chat-paid-message-renderer {
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    yt-live-chat-paid-message-renderer[show-footer-divider] #footer.yt-live-chat-paid-message-renderer::before {
      content: "";
      display: flex;
      border-top: 1px solid rgba(0, 0, 0, 0.12);
      margin: 8px 0;
    }

    yt-live-chat-paid-message-renderer[is-user-editable] #footer.yt-live-chat-paid-message-renderer:not(:empty) {
      padding-top: 8px;
    }

    canvas.yt-live-chat-text-message-renderer,
    caption.yt-live-chat-text-message-renderer,
    center.yt-live-chat-text-message-renderer,
    cite.yt-live-chat-text-message-renderer,
    code.yt-live-chat-text-message-renderer,
    dd.yt-live-chat-text-message-renderer,
    del.yt-live-chat-text-message-renderer,
    dfn.yt-live-chat-text-message-renderer,
    div.yt-live-chat-text-message-renderer,
    dl.yt-live-chat-text-message-renderer,
    dt.yt-live-chat-text-message-renderer,
    em.yt-live-chat-text-message-renderer,
    embed.yt-live-chat-text-message-renderer,
    fieldset.yt-live-chat-text-message-renderer,
    font.yt-live-chat-text-message-renderer,
    form.yt-live-chat-text-message-renderer,
    h1.yt-live-chat-text-message-renderer,
    h2.yt-live-chat-text-message-renderer,
    h3.yt-live-chat-text-message-renderer,
    h4.yt-live-chat-text-message-renderer,
    h5.yt-live-chat-text-message-renderer,
    h6.yt-live-chat-text-message-renderer,
    hr.yt-live-chat-text-message-renderer,
    i.yt-live-chat-text-message-renderer,
    iframe.yt-live-chat-text-message-renderer,
    img.yt-live-chat-text-message-renderer,
    ins.yt-live-chat-text-message-renderer,
    kbd.yt-live-chat-text-message-renderer,
    label.yt-live-chat-text-message-renderer,
    legend.yt-live-chat-text-message-renderer,
    li.yt-live-chat-text-message-renderer,
    menu.yt-live-chat-text-message-renderer,
    object.yt-live-chat-text-message-renderer,
    ol.yt-live-chat-text-message-renderer,
    p.yt-live-chat-text-message-renderer,
    pre.yt-live-chat-text-message-renderer,
    q.yt-live-chat-text-message-renderer,
    s.yt-live-chat-text-message-renderer,
    samp.yt-live-chat-text-message-renderer,
    small.yt-live-chat-text-message-renderer,
    span.yt-live-chat-text-message-renderer,
    strike.yt-live-chat-text-message-renderer,
    strong.yt-live-chat-text-message-renderer,
    sub.yt-live-chat-text-message-renderer,
    sup.yt-live-chat-text-message-renderer,
    table.yt-live-chat-text-message-renderer,
    tbody.yt-live-chat-text-message-renderer,
    td.yt-live-chat-text-message-renderer,
    tfoot.yt-live-chat-text-message-renderer,
    th.yt-live-chat-text-message-renderer,
    thead.yt-live-chat-text-message-renderer,
    tr.yt-live-chat-text-message-renderer,
    tt.yt-live-chat-text-message-renderer,
    u.yt-live-chat-text-message-renderer,
    ul.yt-live-chat-text-message-renderer,
    var.yt-live-chat-text-message-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-text-message-renderer[hidden] {
      display: none !important;
    }

    #timestamp.yt-live-chat-text-message-renderer {
      display: var(--yt-live-chat-item-timestamp-display, inline);
      margin: var(--yt-live-chat-item-timestamp-margin, 0 8px 0 0);
      color: var(--yt-live-chat-tertiary-text-color);
      font-size: 11px;
    }

    #author-photo.yt-live-chat-text-message-renderer {
      display: block;
      margin-right: 16px;
      overflow: hidden;
      border-radius: 50%;
      -ms-flex: none;
      -webkit-flex: none;
      flex: none;
    }

    #menu-button.yt-live-chat-text-message-renderer {
      width: 40px;
      height: 40px;
      padding: 8px;
    }

    #menu.yt-live-chat-text-message-renderer {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      transform: translateX(100px);
    }

    yt-live-chat-text-message-renderer:hover #menu.yt-live-chat-text-message-renderer,
    yt-live-chat-text-message-renderer[menu-visible] #menu.yt-live-chat-text-message-renderer {
      transform: none;
    }

    yt-live-chat-text-message-renderer:focus-within #menu.yt-live-chat-text-message-renderer {
      transform: none;
    }

    #inline-action-button-container.yt-live-chat-text-message-renderer {
      position: absolute;
      top: -4px;
      right: 0;
      bottom: -4px;
      left: 0;
      background-color: var(--yt-live-chat-moderation-mode-hover-background-color);
      display: none;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
    }

    yt-live-chat-text-message-renderer[has-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-text-message-renderer {
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      display: var(--yt-live-chat-inline-action-button-container-display, none);
    }

    yt-live-chat-text-message-renderer[has-inline-action-buttons][hide-inline-action-buttons]:hover #inline-action-button-container.yt-live-chat-text-message-renderer {
      display: none;
    }

    yt-live-chat-text-message-renderer[has-inline-action-buttons]:hover #menu.yt-live-chat-text-message-renderer {
      display: var(--yt-live-chat-item-with-inline-actions-context-menu-display, block);
    }

    #inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer,
    #additional-inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer {
      --yt-button-icon-size: 36px;
      --yt-button-icon-padding: 6px;
      color: hsl(0, 0%, 100%);
      border-radius: 2px;
    }

    #inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer {
      background: hsla(0, 0%, 6.7%, .8);
    }

    #inline-action-buttons.yt-live-chat-text-message-renderer>.yt-live-chat-text-message-renderer:hover {
      background: hsl(0, 0%, 6.7%);
    }

    #additional-inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer {
      color: var(--yt-live-chat-additional-inline-action-button-color);
      background: var(--yt-live-chat-additional-inline-action-button-background-color);
    }

    #additional-inline-action-buttons.yt-live-chat-text-message-renderer>.yt-live-chat-text-message-renderer:hover {
      background: var(--yt-live-chat-additional-inline-action-button-background-color-hover);
    }

    #additional-inline-action-buttons.yt-live-chat-text-message-renderer:not(:empty) {
      margin-left: 32px;
    }

    #inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer:not(:first-child),
    #additional-inline-action-buttons.yt-live-chat-text-message-renderer>*.yt-live-chat-text-message-renderer:not(:first-child) {
      margin-left: 8px;
    }

    yt-live-chat-text-message-renderer {
      position: relative;
      font-size: 13px;
      padding: 4px 24px;
      overflow: hidden;
      --yt-endpoint-color: var(--yt-live-chat-primary-text-color, hsl(0, 0%, 6.7%));
      --yt-endpoint-hover-color: var(--yt-live-chat-primary-text-color, var(--yt-endpoint-color));
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: start;
      -webkit-align-items: flex-start;
      align-items: flex-start;
    }

    yt-live-chat-text-message-renderer:hover {
      overflow: initial;
    }

    yt-live-chat-text-message-renderer[author-is-owner] {
      background-color: var(--yt-live-chat-message-highlight-background-color);
    }

    #content.yt-live-chat-text-message-renderer {
      -ms-align-self: center;
      -webkit-align-self: center;
      align-self: center;
      min-width: 0;
    }

    yt-live-chat-author-chip.yt-live-chat-text-message-renderer {
      margin-right: 8px;
    }

    #message.yt-live-chat-text-message-renderer {
      color: var(--yt-live-chat-primary-text-color, var(--yt-primary-text-color));
      line-height: 16px;
      overflow: hidden;
      overflow-wrap: break-word;
      word-wrap: break-word;
      word-break: break-word;
      font-style: var(--yt-live-chat-text-message-renderer-message-message-style_-_font-style);
      opacity: var(--yt-live-chat-text-message-renderer-message-message-style_-_opacity);
    }

    #message.yt-live-chat-text-message-renderer .emoji.yt-live-chat-text-message-renderer {
      width: var(--yt-live-chat-emoji-size);
      height: var(--yt-live-chat-emoji-size);
      margin: -1px 2px 1px 2px;
      vertical-align: middle;
    }

    a.yt-live-chat-text-message-renderer {
      display: inline;
      text-decoration: underline;
    }

    #message.yt-live-chat-text-message-renderer a.yt-live-chat-text-message-renderer {
      display: inline;
      text-decoration: underline;
      word-break: break-all;
    }

    #message.yt-live-chat-text-message-renderer a.yt-live-chat-text-message-renderer .mention.yt-live-chat-text-message-renderer {
      text-decoration: underline;
    }

    #show-original.yt-live-chat-text-message-renderer {
      margin-left: 2px;
    }

    #message.yt-live-chat-text-message-renderer:empty,
    #deleted-state.yt-live-chat-text-message-renderer:empty,
    #show-original.yt-live-chat-text-message-renderer:empty,
    yt-live-chat-text-message-renderer[show-original] #deleted-state.yt-live-chat-text-message-renderer,
    yt-live-chat-text-message-renderer[show-original] #show-original.yt-live-chat-text-message-renderer,
    yt-live-chat-text-message-renderer[is-deleted]:not([show-original]) #message.yt-live-chat-text-message-renderer {
      display: none;
    }

    #menu.yt-live-chat-text-message-renderer {
      color: var(--yt-live-chat-secondary-text-color);
      background: linear-gradient(to right, transparent, var(--yt-live-chat-background-color, hsl(0, 0%, 100%)) 100%);
    }

    .mention.yt-live-chat-text-message-renderer {
      background: var(--yt-live-chat-mention-background-color);
      color: var(--yt-live-chat-mention-text-color);
      padding: 2px 4px;
      border-radius: 2px;
    }

    #deleted-state.yt-live-chat-text-message-renderer,
    #show-original.yt-live-chat-text-message-renderer,
    yt-live-chat-text-message-renderer[is-deleted] #message.yt-live-chat-text-message-renderer {
      font-style: italic;
      color: var(--yt-live-chat-deleted-message-color, rgba(0, 0, 0, 0.5));
    }

    yt-live-chat-text-message-renderer[show-bar]::before {
      content: '';
      position: absolute;
      display: block;
      left: 8px;
      top: 4px;
      bottom: 4px;
      width: 4px;
      box-sizing: border-box;
      border-radius: 2px;
    }

    yt-live-chat-text-message-renderer[is-deleted]::before {
      background: var(--yt-live-chat-deleted-message-bar-color, rgba(0, 0, 0, 0.5));
    }

    yt-live-chat-text-message-renderer[is-dimmed] #message.yt-live-chat-text-message-renderer {
      opacity: 0.25;
    }

    yt-live-chat-text-message-renderer[is-dimmed]::before {
      background: var(--yt-live-chat-error-message-color, #f44336);
    }

  </style>

  <!-- yt-live-chat-author-chip -->
  <style>
    canvas.yt-live-chat-author-chip,
    caption.yt-live-chat-author-chip,
    center.yt-live-chat-author-chip,
    cite.yt-live-chat-author-chip,
    code.yt-live-chat-author-chip,
    dd.yt-live-chat-author-chip,
    del.yt-live-chat-author-chip,
    dfn.yt-live-chat-author-chip,
    div.yt-live-chat-author-chip,
    dl.yt-live-chat-author-chip,
    dt.yt-live-chat-author-chip,
    em.yt-live-chat-author-chip,
    embed.yt-live-chat-author-chip,
    fieldset.yt-live-chat-author-chip,
    font.yt-live-chat-author-chip,
    form.yt-live-chat-author-chip,
    h1.yt-live-chat-author-chip,
    h2.yt-live-chat-author-chip,
    h3.yt-live-chat-author-chip,
    h4.yt-live-chat-author-chip,
    h5.yt-live-chat-author-chip,
    h6.yt-live-chat-author-chip,
    hr.yt-live-chat-author-chip,
    i.yt-live-chat-author-chip,
    iframe.yt-live-chat-author-chip,
    img.yt-live-chat-author-chip,
    ins.yt-live-chat-author-chip,
    kbd.yt-live-chat-author-chip,
    label.yt-live-chat-author-chip,
    legend.yt-live-chat-author-chip,
    li.yt-live-chat-author-chip,
    menu.yt-live-chat-author-chip,
    object.yt-live-chat-author-chip,
    ol.yt-live-chat-author-chip,
    p.yt-live-chat-author-chip,
    pre.yt-live-chat-author-chip,
    q.yt-live-chat-author-chip,
    s.yt-live-chat-author-chip,
    samp.yt-live-chat-author-chip,
    small.yt-live-chat-author-chip,
    span.yt-live-chat-author-chip,
    strike.yt-live-chat-author-chip,
    strong.yt-live-chat-author-chip,
    sub.yt-live-chat-author-chip,
    sup.yt-live-chat-author-chip,
    table.yt-live-chat-author-chip,
    tbody.yt-live-chat-author-chip,
    td.yt-live-chat-author-chip,
    tfoot.yt-live-chat-author-chip,
    th.yt-live-chat-author-chip,
    thead.yt-live-chat-author-chip,
    tr.yt-live-chat-author-chip,
    tt.yt-live-chat-author-chip,
    u.yt-live-chat-author-chip,
    ul.yt-live-chat-author-chip,
    var.yt-live-chat-author-chip {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-author-chip[hidden] {
      display: none !important;
    }

    yt-live-chat-author-chip {
      display: inline-flex;
      -ms-flex-align: baseline;
      -webkit-align-items: baseline;
      align-items: baseline;
    }

    #author-name.yt-live-chat-author-chip {
      box-sizing: border-box;
      border-radius: 2px;
      color: var(--yt-live-chat-secondary-text-color);
      font-weight: 500;
    }

    yt-live-chat-author-chip[is-highlighted] #author-name.yt-live-chat-author-chip {
      padding: 2px 4px;
      color: var(--yt-live-chat-author-chip-verified-text-color);
      background-color: var(--yt-live-chat-author-chip-verified-background-color);
    }

    #author-name.yt-live-chat-author-chip[type='moderator'] {
      color: var(--yt-live-chat-moderator-color);
    }

    yt-live-chat-author-chip[is-highlighted] #author-name.yt-live-chat-author-chip[type='owner'],
    #author-name.yt-live-chat-author-chip[type='owner'] {
      background-color: #ffd600;
      color: var(--yt-live-chat-author-chip-owner-text-color);
    }

    #author-name.yt-live-chat-author-chip[type='member'] {
      color: var(--yt-live-chat-sponsor-color);
    }

    #chip-badges.yt-live-chat-author-chip:empty {
      display: none;
    }

    yt-live-chat-author-chip[is-highlighted] #chat-badges.yt-live-chat-author-chip:not(:empty) {
      margin-left: 1px;
    }

    yt-live-chat-author-badge-renderer.yt-live-chat-author-chip {
      margin: 0 0 0 2px;
      vertical-align: sub;
    }

    yt-live-chat-author-chip[is-highlighted] #chip-badges.yt-live-chat-author-chip yt-live-chat-author-badge-renderer.yt-live-chat-author-chip {
      color: inherit;
    }

    #chip-badges.yt-live-chat-author-chip yt-live-chat-author-badge-renderer.yt-live-chat-author-chip:last-of-type {
      margin-right: -2px;
    }

    canvas.yt-live-chat-ticker-renderer,
    caption.yt-live-chat-ticker-renderer,
    center.yt-live-chat-ticker-renderer,
    cite.yt-live-chat-ticker-renderer,
    code.yt-live-chat-ticker-renderer,
    dd.yt-live-chat-ticker-renderer,
    del.yt-live-chat-ticker-renderer,
    dfn.yt-live-chat-ticker-renderer,
    div.yt-live-chat-ticker-renderer,
    dl.yt-live-chat-ticker-renderer,
    dt.yt-live-chat-ticker-renderer,
    em.yt-live-chat-ticker-renderer,
    embed.yt-live-chat-ticker-renderer,
    fieldset.yt-live-chat-ticker-renderer,
    font.yt-live-chat-ticker-renderer,
    form.yt-live-chat-ticker-renderer,
    h1.yt-live-chat-ticker-renderer,
    h2.yt-live-chat-ticker-renderer,
    h3.yt-live-chat-ticker-renderer,
    h4.yt-live-chat-ticker-renderer,
    h5.yt-live-chat-ticker-renderer,
    h6.yt-live-chat-ticker-renderer,
    hr.yt-live-chat-ticker-renderer,
    i.yt-live-chat-ticker-renderer,
    iframe.yt-live-chat-ticker-renderer,
    img.yt-live-chat-ticker-renderer,
    ins.yt-live-chat-ticker-renderer,
    kbd.yt-live-chat-ticker-renderer,
    label.yt-live-chat-ticker-renderer,
    legend.yt-live-chat-ticker-renderer,
    li.yt-live-chat-ticker-renderer,
    menu.yt-live-chat-ticker-renderer,
    object.yt-live-chat-ticker-renderer,
    ol.yt-live-chat-ticker-renderer,
    p.yt-live-chat-ticker-renderer,
    pre.yt-live-chat-ticker-renderer,
    q.yt-live-chat-ticker-renderer,
    s.yt-live-chat-ticker-renderer,
    samp.yt-live-chat-ticker-renderer,
    small.yt-live-chat-ticker-renderer,
    span.yt-live-chat-ticker-renderer,
    strike.yt-live-chat-ticker-renderer,
    strong.yt-live-chat-ticker-renderer,
    sub.yt-live-chat-ticker-renderer,
    sup.yt-live-chat-ticker-renderer,
    table.yt-live-chat-ticker-renderer,
    tbody.yt-live-chat-ticker-renderer,
    td.yt-live-chat-ticker-renderer,
    tfoot.yt-live-chat-ticker-renderer,
    th.yt-live-chat-ticker-renderer,
    thead.yt-live-chat-ticker-renderer,
    tr.yt-live-chat-ticker-renderer,
    tt.yt-live-chat-ticker-renderer,
    u.yt-live-chat-ticker-renderer,
    ul.yt-live-chat-ticker-renderer,
    var.yt-live-chat-ticker-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-ticker-renderer[hidden] {
      display: none !important;
    }

    yt-live-chat-ticker-renderer {
      display: block;
      background-color: var(--yt-live-chat-header-background-color);
    }

    #container.yt-live-chat-ticker-renderer {
      position: relative;
    }

    #items.yt-live-chat-ticker-renderer {
      height: 32px;
      overflow: hidden;
      white-space: nowrap;
      padding: 0 24px 8px 24px;
    }

    #items.yt-live-chat-ticker-renderer>*.yt-live-chat-ticker-renderer {
      margin-right: 8px;
    }

    #left-arrow-container.yt-live-chat-ticker-renderer {
      background: linear-gradient(to right, var(--yt-live-chat-ticker-arrow-background) 0, var(--yt-live-chat-ticker-arrow-background) 52px, transparent 60px);
      left: 0;
      padding: 0 16px 0 12px;
    }

    #right-arrow-container.yt-live-chat-ticker-renderer {
      background: linear-gradient(to left, var(--yt-live-chat-ticker-arrow-background) 0, var(--yt-live-chat-ticker-arrow-background) 52px, transparent 60px);
      right: 0;
      padding: 0 12px 0 16px;
    }

    #container.yt-live-chat-ticker-renderer:hover #left-arrow-container.yt-live-chat-ticker-renderer,
    #container.yt-live-chat-ticker-renderer:hover #right-arrow-container.yt-live-chat-ticker-renderer {
      opacity: 1;
    }

    #left-arrow-container.yt-live-chat-ticker-renderer,
    #right-arrow-container.yt-live-chat-ticker-renderer {
      height: 32px;
      opacity: 0;
      position: absolute;
      text-align: center;
      top: 0;
      transition: opacity 0.3s 0.1s;
    }

    yt-icon.yt-live-chat-ticker-renderer {
      background-color: #2196f3;
      border-radius: 999px;
      color: #fff;
      cursor: pointer;
      height: 24px;
      padding: 4px;
      width: 24px;
    }

  </style>

  <!-- yt-live-chat-ticker-paid-message-item-renderer -->
  <style>
    canvas.yt-live-chat-ticker-paid-message-item-renderer,
    caption.yt-live-chat-ticker-paid-message-item-renderer,
    center.yt-live-chat-ticker-paid-message-item-renderer,
    cite.yt-live-chat-ticker-paid-message-item-renderer,
    code.yt-live-chat-ticker-paid-message-item-renderer,
    dd.yt-live-chat-ticker-paid-message-item-renderer,
    del.yt-live-chat-ticker-paid-message-item-renderer,
    dfn.yt-live-chat-ticker-paid-message-item-renderer,
    div.yt-live-chat-ticker-paid-message-item-renderer,
    dl.yt-live-chat-ticker-paid-message-item-renderer,
    dt.yt-live-chat-ticker-paid-message-item-renderer,
    em.yt-live-chat-ticker-paid-message-item-renderer,
    embed.yt-live-chat-ticker-paid-message-item-renderer,
    fieldset.yt-live-chat-ticker-paid-message-item-renderer,
    font.yt-live-chat-ticker-paid-message-item-renderer,
    form.yt-live-chat-ticker-paid-message-item-renderer,
    h1.yt-live-chat-ticker-paid-message-item-renderer,
    h2.yt-live-chat-ticker-paid-message-item-renderer,
    h3.yt-live-chat-ticker-paid-message-item-renderer,
    h4.yt-live-chat-ticker-paid-message-item-renderer,
    h5.yt-live-chat-ticker-paid-message-item-renderer,
    h6.yt-live-chat-ticker-paid-message-item-renderer,
    hr.yt-live-chat-ticker-paid-message-item-renderer,
    i.yt-live-chat-ticker-paid-message-item-renderer,
    iframe.yt-live-chat-ticker-paid-message-item-renderer,
    img.yt-live-chat-ticker-paid-message-item-renderer,
    ins.yt-live-chat-ticker-paid-message-item-renderer,
    kbd.yt-live-chat-ticker-paid-message-item-renderer,
    label.yt-live-chat-ticker-paid-message-item-renderer,
    legend.yt-live-chat-ticker-paid-message-item-renderer,
    li.yt-live-chat-ticker-paid-message-item-renderer,
    menu.yt-live-chat-ticker-paid-message-item-renderer,
    object.yt-live-chat-ticker-paid-message-item-renderer,
    ol.yt-live-chat-ticker-paid-message-item-renderer,
    p.yt-live-chat-ticker-paid-message-item-renderer,
    pre.yt-live-chat-ticker-paid-message-item-renderer,
    q.yt-live-chat-ticker-paid-message-item-renderer,
    s.yt-live-chat-ticker-paid-message-item-renderer,
    samp.yt-live-chat-ticker-paid-message-item-renderer,
    small.yt-live-chat-ticker-paid-message-item-renderer,
    span.yt-live-chat-ticker-paid-message-item-renderer,
    strike.yt-live-chat-ticker-paid-message-item-renderer,
    strong.yt-live-chat-ticker-paid-message-item-renderer,
    sub.yt-live-chat-ticker-paid-message-item-renderer,
    sup.yt-live-chat-ticker-paid-message-item-renderer,
    table.yt-live-chat-ticker-paid-message-item-renderer,
    tbody.yt-live-chat-ticker-paid-message-item-renderer,
    td.yt-live-chat-ticker-paid-message-item-renderer,
    tfoot.yt-live-chat-ticker-paid-message-item-renderer,
    th.yt-live-chat-ticker-paid-message-item-renderer,
    thead.yt-live-chat-ticker-paid-message-item-renderer,
    tr.yt-live-chat-ticker-paid-message-item-renderer,
    tt.yt-live-chat-ticker-paid-message-item-renderer,
    u.yt-live-chat-ticker-paid-message-item-renderer,
    ul.yt-live-chat-ticker-paid-message-item-renderer,
    var.yt-live-chat-ticker-paid-message-item-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-ticker-paid-message-item-renderer[hidden] {
      display: none !important;
    }

    canvas.yt-live-chat-ticker-paid-message-item-renderer,
    caption.yt-live-chat-ticker-paid-message-item-renderer,
    center.yt-live-chat-ticker-paid-message-item-renderer,
    cite.yt-live-chat-ticker-paid-message-item-renderer,
    code.yt-live-chat-ticker-paid-message-item-renderer,
    dd.yt-live-chat-ticker-paid-message-item-renderer,
    del.yt-live-chat-ticker-paid-message-item-renderer,
    dfn.yt-live-chat-ticker-paid-message-item-renderer,
    div.yt-live-chat-ticker-paid-message-item-renderer,
    dl.yt-live-chat-ticker-paid-message-item-renderer,
    dt.yt-live-chat-ticker-paid-message-item-renderer,
    em.yt-live-chat-ticker-paid-message-item-renderer,
    embed.yt-live-chat-ticker-paid-message-item-renderer,
    fieldset.yt-live-chat-ticker-paid-message-item-renderer,
    font.yt-live-chat-ticker-paid-message-item-renderer,
    form.yt-live-chat-ticker-paid-message-item-renderer,
    h1.yt-live-chat-ticker-paid-message-item-renderer,
    h2.yt-live-chat-ticker-paid-message-item-renderer,
    h3.yt-live-chat-ticker-paid-message-item-renderer,
    h4.yt-live-chat-ticker-paid-message-item-renderer,
    h5.yt-live-chat-ticker-paid-message-item-renderer,
    h6.yt-live-chat-ticker-paid-message-item-renderer,
    hr.yt-live-chat-ticker-paid-message-item-renderer,
    i.yt-live-chat-ticker-paid-message-item-renderer,
    iframe.yt-live-chat-ticker-paid-message-item-renderer,
    img.yt-live-chat-ticker-paid-message-item-renderer,
    ins.yt-live-chat-ticker-paid-message-item-renderer,
    kbd.yt-live-chat-ticker-paid-message-item-renderer,
    label.yt-live-chat-ticker-paid-message-item-renderer,
    legend.yt-live-chat-ticker-paid-message-item-renderer,
    li.yt-live-chat-ticker-paid-message-item-renderer,
    menu.yt-live-chat-ticker-paid-message-item-renderer,
    object.yt-live-chat-ticker-paid-message-item-renderer,
    ol.yt-live-chat-ticker-paid-message-item-renderer,
    p.yt-live-chat-ticker-paid-message-item-renderer,
    pre.yt-live-chat-ticker-paid-message-item-renderer,
    q.yt-live-chat-ticker-paid-message-item-renderer,
    s.yt-live-chat-ticker-paid-message-item-renderer,
    samp.yt-live-chat-ticker-paid-message-item-renderer,
    small.yt-live-chat-ticker-paid-message-item-renderer,
    span.yt-live-chat-ticker-paid-message-item-renderer,
    strike.yt-live-chat-ticker-paid-message-item-renderer,
    strong.yt-live-chat-ticker-paid-message-item-renderer,
    sub.yt-live-chat-ticker-paid-message-item-renderer,
    sup.yt-live-chat-ticker-paid-message-item-renderer,
    table.yt-live-chat-ticker-paid-message-item-renderer,
    tbody.yt-live-chat-ticker-paid-message-item-renderer,
    td.yt-live-chat-ticker-paid-message-item-renderer,
    tfoot.yt-live-chat-ticker-paid-message-item-renderer,
    th.yt-live-chat-ticker-paid-message-item-renderer,
    thead.yt-live-chat-ticker-paid-message-item-renderer,
    tr.yt-live-chat-ticker-paid-message-item-renderer,
    tt.yt-live-chat-ticker-paid-message-item-renderer,
    u.yt-live-chat-ticker-paid-message-item-renderer,
    ul.yt-live-chat-ticker-paid-message-item-renderer,
    var.yt-live-chat-ticker-paid-message-item-renderer {
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }

    .yt-live-chat-ticker-paid-message-item-renderer[hidden] {
      display: none !important;
    }

    yt-live-chat-ticker-paid-message-item-renderer {
      display: inline-block;
      font-size: 14px;
      outline: none;
      transition: width 0.2s;
      vertical-align: top;
      cursor: pointer;
      -moz-user-select: none;
      -ms-user-select: none;
      -webkit-user-select: none;
      user-select: none;
    }

    #container.yt-live-chat-ticker-paid-message-item-renderer {
      border-radius: 999px;
      padding: 4px;
    }

    yt-live-chat-ticker-paid-message-item-renderer.sliding-down #container.yt-live-chat-ticker-paid-message-item-renderer {
      opacity: 0.5;
      transform: translateY(44px);
      transition: opacity 0.2s, transform 0.2s cubic-bezier(0.4, 0.0, 1, 1);
    }

    yt-live-chat-ticker-paid-message-item-renderer.collapsing {
      margin-right: 0;
      transition: margin-right 0.2s cubic-bezier(0.4, 0.0, 0.2, 1), width 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
    }

    yt-live-chat-ticker-paid-message-item-renderer[dimmed] {
      opacity: 0.5;
    }

    yt-img-shadow.yt-live-chat-ticker-paid-message-item-renderer {
      margin-right: -4px;
      overflow: hidden;
      border-radius: 50%;
    }

    #content.yt-live-chat-ticker-paid-message-item-renderer {
      height: 24px;
      display: flex;
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
    }

    #text.yt-live-chat-ticker-paid-message-item-renderer {
      margin: 0 8px;
      font-weight: 500;
    }

    yt-live-chat-ticker-paid-message-item-renderer[is-deleted] #author-photo.yt-live-chat-ticker-paid-message-item-renderer {
      display: none;
    }

  </style>

  <style>
    .helper {
      display: none;
    }

  </style>

  <style media="screen" id="css">
    @import url("https://fonts.googleapis.com/css?family=Changa%20One");
    @import url("https://fonts.googleapis.com/css?family=Imprima");

    /* Background colors */
    body {
      overflow: hidden;
      background-color: rgba(0, 0, 0, 0);
    }

    /* Transparent background. */
    yt-live-chat-renderer {
      background-color: transparent !important;
    }

    yt-live-chat-text-message-renderer,
    yt-live-chat-text-message-renderer[is-highlighted] {
      background-color: rgba(204, 204, 204, 0) !important;
    }

    yt-live-chat-text-message-renderer[author-type="owner"],
    yt-live-chat-text-message-renderer[author-type="owner"][is-highlighted] {
      background-color: rgba(255, 214, 0, 0) !important;
    }

    yt-live-chat-text-message-renderer[author-type="moderator"],
    yt-live-chat-text-message-renderer[author-type="moderator"][is-highlighted] {
      background-color: rgba(94, 132, 241, 0) !important;
    }

    yt-live-chat-text-message-renderer[author-type="member"],
    yt-live-chat-text-message-renderer[author-type="member"][is-highlighted] {
      background-color: rgba(15, 157, 88, 0) !important;
    }

    yt-live-chat-author-chip #author-name {
      background-color: transparent !important;
    }

    /* Outlines */
    yt-live-chat-renderer * {
      text-shadow: -2px -2px #000000, -2px -1px #000000, -2px 0px #000000, -2px 1px #000000, -2px 2px #000000, -1px -2px #000000, -1px -1px #000000, -1px 0px #000000, -1px 1px #000000, -1px 2px #000000, 0px -2px #000000, 0px -1px #000000, 0px 0px #000000, 0px 1px #000000, 0px 2px #000000, 1px -2px #000000, 1px -1px #000000, 1px 0px #000000, 1px 1px #000000, 1px 2px #000000, 2px -2px #000000, 2px -1px #000000, 2px 0px #000000, 2px 1px #000000, 2px 2px #000000;
      font-family: "Imprima", sans-serif;
      font-size: 18px !important;
      line-height: 0px !important;
    }

    yt-live-chat-text-message-renderer #content,
    yt-live-chat-legacy-paid-message-renderer #content {
      overflow: initial !important;
    }

    /* Hide scrollbar. */
    yt-live-chat-item-list-renderer #items {
      overflow: hidden !important;
    }

    yt-live-chat-item-list-renderer #item-scroller {
      overflow: hidden !important;
    }

    /* Hide header and input. */
    yt-live-chat-header-renderer,
    yt-live-chat-message-input-renderer {
      display: none !important;
    }

    /* Reduce side padding. */
    yt-live-chat-text-message-renderer,
    yt-live-chat-legacy-paid-message-renderer {
      padding-left: 4px !important;
      padding-right: 4px !important;
    }

    yt-live-chat-paid-message-renderer #header {
      padding-left: 4px !important;
      padding-right: 4px !important;
    }

    /* Avatars. */
    yt-live-chat-text-message-renderer #author-photo,
    yt-live-chat-text-message-renderer #author-photo img,
    yt-live-chat-paid-message-renderer #author-photo,
    yt-live-chat-paid-message-renderer #author-photo img,
    yt-live-chat-legacy-paid-message-renderer #author-photo,
    yt-live-chat-legacy-paid-message-renderer #author-photo img {

      width: 24px !important;
      height: 24px !important;
      border-radius: 24px !important;
      margin-right: 6px !important;
    }

    /* Hide badges. */
    yt-live-chat-text-message-renderer #chat-badges {
      vertical-align: text-top !important;
    }

    /* Timestamps. */
    yt-live-chat-text-message-renderer #timestamp {
      display: inline !important;
      color: #999999 !important;
      font-family: "Imprima", sans-serif;
      font-size: 16px !important;
      line-height: 16px !important;
    }

    /* Badges. */
    yt-live-chat-text-message-renderer #author-name[type="owner"],
    yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="owner"] {
      color: #ffd600 !important;
    }

    yt-live-chat-text-message-renderer #author-name[type="moderator"],
    yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="moderator"] {
      color: #5e84f1 !important;
    }

    yt-live-chat-text-message-renderer #author-name[type="member"],
    yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="member"] {
      color: #0f9d58 !important;
    }

    /* Channel names. */
    yt-live-chat-text-message-renderer #author-name {
      color: #cccccc !important;
      font-family: "Changa One", sans-serif;
      font-size: 20px !important;
      line-height: 20px !important;
    }

    yt-live-chat-text-message-renderer #author-name::after {
      content: ":";
      margin-left: 2px;
    }

    /* Messages. */
    yt-live-chat-text-message-renderer #message,
    yt-live-chat-text-message-renderer #message * {
      color: #ffffff !important;
      font-family: "Imprima", sans-serif;
      font-size: 18px !important;
      line-height: 18px !important;
    }



    /* SuperChat/Fan Funding Messages. */
    yt-live-chat-paid-message-renderer #author-name,
    yt-live-chat-paid-message-renderer #author-name *,
    yt-live-chat-legacy-paid-message-renderer #event-text,
    yt-live-chat-legacy-paid-message-renderer #event-text * {
      color: #ffffff !important;
      font-family: "Changa One", sans-serif;
      font-size: 20px !important;
      line-height: 20px !important;
    }

    yt-live-chat-paid-message-renderer #purchase-amount,
    yt-live-chat-paid-message-renderer #purchase-amount *,
    yt-live-chat-legacy-paid-message-renderer #detail-text,
    yt-live-chat-legacy-paid-message-renderer #detail-text * {
      color: #ffffff !important;
      font-family: "Imprima", sans-serif;
      font-size: 18px !important;
      line-height: 18px !important;
    }

    yt-live-chat-paid-message-renderer #content,
    yt-live-chat-paid-message-renderer #content * {
      color: #ffffff !important;
      font-family: "Imprima", sans-serif;
      font-size: 18px !important;
      line-height: 18px !important;
    }

    yt-live-chat-paid-message-renderer {
      margin: 4px 0 !important;
    }

    yt-live-chat-legacy-paid-message-renderer #card {
      background-color: #0f9d58 !important;
      margin: 4px 0 !important;
    }

    yt-live-chat-text-message-renderer a,
    yt-live-chat-legacy-paid-message-renderer a {
      text-decoration: none !important;
    }

    yt-live-chat-text-message-renderer[is-deleted],
    yt-live-chat-legacy-paid-message-renderer[is-deleted] {
      display: none !important;
    }

    yt-live-chat-ticker-renderer {
      background-color: transparent !important;
      box-shadow: none !important;
    }

    yt-live-chat-ticker-renderer {
      display: none !important;
    }



    yt-live-chat-ticker-paid-message-item-renderer,
    yt-live-chat-ticker-paid-message-item-renderer *,
    yt-live-chat-ticker-sponsor-item-renderer,
    yt-live-chat-ticker-sponsor-item-renderer * {
      color: #ffffff !important;
      font-family: "Imprima", sans-serif;
    }

    yt-live-chat-mode-change-message-renderer,
    yt-live-chat-viewer-engagement-message-renderer,
    yt-live-chat-restricted-participation-renderer {
      display: none !important;
    }

    @keyframes anim {
      0% {
        opacity: 0;
      }

      100% {
        opacity: 1;
        transform: none;
      }
    }

    yt-live-chat-text-message-renderer,
    yt-live-chat-legacy-paid-message-renderer {
      animation: anim 200ms;
      animation-fill-mode: both;
    }

  </style>

  <script type="text/javascript">
    /* beautify ignore:start */
  /*! pako 2.0.2 https://github.com/nodeca/pako @license (MIT AND Zlib) */
  !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).pako={})}(this,(function(e){"use strict";var t=function(e,t,i,a){for(var n=65535&e|0,r=e>>>16&65535|0,o=0;0!==i;){i-=o=i>2e3?2e3:i;do{r=r+(n=n+t[a++]|0)|0}while(--o);n%=65521,r%=65521}return n|r<<16|0},i=new Uint32Array(function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var a=0;a<8;a++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}()),a=function(e,t,a,n){var r=i,o=n+a;e^=-1;for(var s=n;s<o;s++)e=e>>>8^r[255&(e^t[s])];return-1^e},n=function(e,t){var i,a,n,r,o,s,l,f,d,h,c,u,w,b,m,k,_,v,g,p,y,x,E,R,A=e.state;i=e.next_in,E=e.input,a=i+(e.avail_in-5),n=e.next_out,R=e.output,r=n-(t-e.avail_out),o=n+(e.avail_out-257),s=A.dmax,l=A.wsize,f=A.whave,d=A.wnext,h=A.window,c=A.hold,u=A.bits,w=A.lencode,b=A.distcode,m=(1<<A.lenbits)-1,k=(1<<A.distbits)-1;e:do{u<15&&(c+=E[i++]<<u,u+=8,c+=E[i++]<<u,u+=8),_=w[c&m];t:for(;;){if(c>>>=v=_>>>24,u-=v,0===(v=_>>>16&255))R[n++]=65535&_;else{if(!(16&v)){if(0==(64&v)){_=w[(65535&_)+(c&(1<<v)-1)];continue t}if(32&v){A.mode=12;break e}e.msg="invalid literal/length code" ,A.mode=30;break e}g=65535&_,(v&=15)&&(u<v&&(c+=E[i++]<<u,u+=8),g+=c&(1<<v)-1,c>>>=v,u-=v),u<15&&(c+=E[i++]<<u,u+=8,c+=E[i++]<<u,u+=8),_=b[c&k];i:for(;;){if(c>>>=v=_>>>24,u-=v,!(16&(v=_>>>16&255))){if(0==(64&v)){_=b[(65535&_)+(c&(1<<v)-1)];continue i}e.msg="invalid distance code" ,A.mode=30;break e}if(p=65535&_,u<(v&=15)&&(c+=E[i++]<<u,(u+=8)<v&&(c+=E[i++]<<u,u+=8)),(p+=c&(1<<v)-1)>s){e.msg="invalid distance too far back",A.mode=30;break e}if(c>>>=v,u-=v,p>(v=n-r)){if((v=p-v)>f&&A.sane){e.msg="invalid distance too far back",A.mode=30;break e}if(y=0,x=h,0===d){if(y+=l-v,v<g){g-=v;do{R[n++]=h[y++]}while(--v);y=n-p,x=R}}else if(d<v){if(y+=l+d-v,(v-=d)<g){g-=v;do{R[n++]=h[y++]}while(--v);if(y=0,d<g){g-=v=d;do{R[n++]=h[y++]}while(--v);y=n-p,x=R}}}else if(y+=d-v,v<g){g-=v;do{R[n++]=h[y++]}while(--v);y=n-p,x=R}for(;g>2;)R[n++]=x[y++],R[n++]=x[y++],R[n++]=x[y++],g-=3;g&&(R[n++]=x[y++],g>1&&(R[n++]=x[y++]))}else{y=n-p;do{R[n++]=R[y++],R[n++]=R[y++],R[n++]=R[y++],g-=3}while(g>2);g&&(R[n++]=R[y++],g>1&&(R[n++]=R[y++]))}break}}break}}while(i<a&&n<o);i-=g=u>>3,c&=(1<<(u-=g<<3))-1,e.next_in=i,e.next_out=n,e.avail_in=i<a?a-i+5:5-(i-a),e.avail_out=n<o?o-n+257:257-(n-o),A.hold=c,A.bits=u},r=15,o=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),s=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),l=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),f=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),d=function(e,t,i,a,n,d,h,c){var u,w,b,m,k,_,v,g,p,y=c.bits,x=0,E=0,R=0,A=0,Z=0,S=0,O=0,U=0,T=0,D=0,I=null,B=0,N=new Uint16Array(16),C=new Uint16Array(16),z=null,F=0;for(x=0;x<=r;x++)N[x]=0;for(E=0;E<a;E++)N[t[i+E]]++;for(Z=y,A=r;A>=1&&0===N[A];A--);if(Z>A&&(Z=A),0===A)return n[d++]=20971520,n[d++]=20971520,c.bits=1,0;for(R=1;R<A&&0===N[R];R++);for(Z<R&&(Z=R),U=1,x=1;x<=r;x++)if(U<<=1,(U-=N[x])<0)return-1;if(U>0&&(0===e||1!==A))return-1;for(C[1]=0,x=1;x<r;x++)C[x+1]=C[x]+N[x];for(E=0;E<a;E++)0!==t[i+E]&&(h[C[t[i+E]]++]=E);if(0===e?(I=z=h,_=19):1===e?(I=o,B-=257,z=s,F-=257,_=256):(I=l,z=f,_=-1),D=0,E=0,x=R,k=d,S=Z,O=0,b=-1,m=(T=1<<Z)-1,1===e&&T>852||2===e&&T>592)return 1;for(;;){v=x-O,h[E]<_?(g=0,p=h[E]):h[E]>_?(g=z[F+h[E]],p=I[B+h[E]]):(g=96,p=0),u=1<<x-O,R=w=1<<S;do{n[k+(D>>O)+(w-=u)]=v<<24|g<<16|p|0}while(0!==w);for(u=1<<x-1;D&u;)u>>=1;if(0!==u?(D&=u-1,D+=u):D=0,E++,0==--N[x]){if(x===A)break;x=t[i+h[E]]}if(x>Z&&(D&m)!==b){for(0===O&&(O=Z),k+=R,U=1<<(S=x-O);S+O<A&&!((U-=N[S+O])<=0);)S++,U<<=1;if(T+=1<<S,1===e&&T>852||2===e&&T>592)return 1;n[b=D&m]=Z<<24|S<<16|k-d|0}}return 0!==D&&(n[k+D]=x-O<<24|64<<16|0),c.bits=Z,0},h={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},c=h.Z_FINISH,u=h.Z_BLOCK,w=h.Z_TREES,b=h.Z_OK,m=h.Z_STREAM_END,k=h.Z_NEED_DICT,_=h.Z_STREAM_ERROR,v=h.Z_DATA_ERROR,g=h.Z_MEM_ERROR,p=h.Z_BUF_ERROR,y=h.Z_DEFLATED,x=12,E=30,R=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function A(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Z,S,O=function(e){if(!e||!e.state)return _;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="" ,t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,b},U=function(e){if(!e||!e.state)return _;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,O(e)},T=function(e,t){var i;if(!e||!e.state)return _;var a=e.state;return t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==a.window&&a.wbits!==t&&(a.window=null),a.wrap=i,a.wbits=t,U(e))},D=function(e,t){if(!e)return _;var i=new A;e.state=i,i.window=null;var a=T(e,t);return a!==b&&(e.state=null),a},I=!0,B=function(e){if(I){Z=new Int32Array(512),S=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(d(1,e.lens,0,288,Z,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;d(2,e.lens,0,32,S,0,e.work,{bits:5}),I=!1}e.lencode=Z,e.lenbits=9,e.distcode=S,e.distbits=5},N=function(e,t,i,a){var n,r=e.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),a>=r.wsize?(r.window.set(t.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):((n=r.wsize-r.wnext)>a&&(n=a),r.window.set(t.subarray(i-a,i-a+n),r.wnext),(a-=n)?(r.window.set(t.subarray(i-a,i),0),r.wnext=a,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0},C={inflateReset:U,inflateReset2:T,inflateResetKeep:O,inflateInit:function(e){return D(e,15)},inflateInit2:D,inflate:function(e,i){var r,o,s,l,f,h,A,Z,S,O,U,T,D,I,C,z,F,L,M,H,j,K,P,Y,G=0,X=new Uint8Array(4),W=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return _;(r=e.state).mode===x&&(r.mode=13),f=e.next_out,s=e.output,A=e.avail_out,l=e.next_in,o=e.input,h=e.avail_in,Z=r.hold,S=r.bits,O=h,U=A,K=b;e:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;S<16;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(2&r.wrap&&35615===Z){r.check=0,X[0]=255&Z,X[1]=Z>>>8&255,r.check=a(r.check,X,2,0),Z=0,S=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&Z)<<8)+(Z>>8))%31){e.msg="incorrect header check",r.mode=E;break}if((15&Z)!==y){e.msg="unknown compression method",r.mode=E;break}if(S-=4,j=8+(15&(Z>>>=4)),0===r.wbits)r.wbits=j;else if(j>r.wbits){e.msg="invalid window size",r.mode=E;break}r.dmax=1<<r.wbits,e.adler=r.check=1,r.mode=512&Z?10:x,Z=0,S=0;break;case 2:for(;S<16;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(r.flags=Z,(255&r.flags)!==y){e.msg="unknown compression method" ,r.mode=E;break}if(57344&r.flags){e.msg="unknown header flags set" ,r.mode=E;break}r.head&&(r.head.text=Z>>8&1),512&r.flags&&(X[0]=255&Z,X[1]=Z>>>8&255,r.check=a(r.check,X,2,0)),Z=0,S=0,r.mode=3;case 3:for(;S<32;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.head&&(r.head.time=Z),512&r.flags&&(X[0]=255&Z,X[1]=Z>>>8&255,X[2]=Z>>>16&255,X[3]=Z>>>24&255,r.check=a(r.check,X,4,0)),Z=0,S=0,r.mode=4;case 4:for(;S<16;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.head&&(r.head.xflags=255&Z,r.head.os=Z>>8),512&r.flags&&(X[0]=255&Z,X[1]=Z>>>8&255,r.check=a(r.check,X,2,0)),Z=0,S=0,r.mode=5;case 5:if(1024&r.flags){for(;S<16;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.length=Z,r.head&&(r.head.extra_len=Z),512&r.flags&&(X[0]=255&Z,X[1]=Z>>>8&255,r.check=a(r.check,X,2,0)),Z=0,S=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((T=r.length)>h&&(T=h),T&&(r.head&&(j=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(o.subarray(l,l+T),j)),512&r.flags&&(r.check=a(r.check,o,T,l)),h-=T,l+=T,r.length-=T),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===h)break e;T=0;do{j=o[l+T++],r.head&&j&&r.length<65536&&(r.head.name+=String.fromCharCode(j))}while(j&&T<h);if(512&r.flags&&(r.check=a(r.check,o,T,l)),h-=T,l+=T,j)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===h)break e;T=0;do{j=o[l+T++],r.head&&j&&r.length<65536&&(r.head.comment+=String.fromCharCode(j))}while(j&&T<h);if(512&r.flags&&(r.check=a(r.check,o,T,l)),h-=T,l+=T,j)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;S<16;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(Z!==(65535&r.check)){e.msg="header crc mismatch" ,r.mode=E;break}Z=0,S=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=x;break;case 10:for(;S<32;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}e.adler=r.check=R(Z),Z=0,S=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=f,e.avail_out=A,e.next_in=l,e.avail_in=h,r.hold=Z,r.bits=S,k;e.adler=r.check=1,r.mode=x;case x:if(i===u||i===w)break e;case 13:if(r.last){Z>>>=7&S,S-=7&S,r.mode=27;break}for(;S<3;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}switch(r.last=1&Z,S-=1,3&(Z>>>=1)){case 0:r.mode=14;break;case 1:if(B(r),r.mode=20,i===w){Z>>>=2,S-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=E}Z>>>=2,S-=2;break;case 14:for(Z>>>=7&S,S-=7&S;S<32;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if((65535&Z)!=(Z>>>16^65535)){e.msg="invalid stored block lengths",r.mode=E;break}if(r.length=65535&Z,Z=0,S=0,r.mode=15,i===w)break e;case 15:r.mode=16;case 16:if(T=r.length){if(T>h&&(T=h),T>A&&(T=A),0===T)break e;s.set(o.subarray(l,l+T),f),h-=T,l+=T,A-=T,f+=T,r.length-=T;break}r.mode=x;break;case 17:for(;S<14;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(r.nlen=257+(31&Z),Z>>>=5,S-=5,r.ndist=1+(31&Z),Z>>>=5,S-=5,r.ncode=4+(15&Z),Z>>>=4,S-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=E;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;S<3;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.lens[W[r.have++]]=7&Z,Z>>>=3,S-=3}for(;r.have<19;)r.lens[W[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,P={bits:r.lenbits},K=d(0,r.lens,0,19,r.lencode,0,r.work,P),r.lenbits=P.bits,K){e.msg="invalid code lengths set",r.mode=E;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;z=(G=r.lencode[Z&(1<<r.lenbits)-1])>>>16&255,F=65535&G,!((C=G>>>24)<=S);){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(F<16)Z>>>=C,S-=C,r.lens[r.have++]=F;else{if(16===F){for(Y=C+2;S<Y;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(Z>>>=C,S-=C,0===r.have){e.msg="invalid bit length repeat",r.mode=E;break}j=r.lens[r.have-1],T=3+(3&Z),Z>>>=2,S-=2}else if(17===F){for(Y=C+3;S<Y;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}S-=C,j=0,T=3+(7&(Z>>>=C)),Z>>>=3,S-=3}else{for(Y=C+7;S<Y;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}S-=C,j=0,T=11+(127&(Z>>>=C)),Z>>>=7,S-=7}if(r.have+T>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=E;break}for(;T--;)r.lens[r.have++]=j}}if(r.mode===E)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=E;break}if(r.lenbits=9,P={bits:r.lenbits},K=d(1,r.lens,0,r.nlen,r.lencode,0,r.work,P),r.lenbits=P.bits,K){e.msg="invalid literal/lengths set",r.mode=E;break}if(r.distbits=6,r.distcode=r.distdyn,P={bits:r.distbits},K=d(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,P),r.distbits=P.bits,K){e.msg="invalid distances set",r.mode=E;break}if(r.mode=20,i===w)break e;case 20:r.mode=21;case 21:if(h>=6&&A>=258){e.next_out=f,e.avail_out=A,e.next_in=l,e.avail_in=h,r.hold=Z,r.bits=S,n(e,U),f=e.next_out,s=e.output,A=e.avail_out,l=e.next_in,o=e.input,h=e.avail_in,Z=r.hold,S=r.bits,r.mode===x&&(r.back=-1);break}for(r.back=0;z=(G=r.lencode[Z&(1<<r.lenbits)-1])>>>16&255,F=65535&G,!((C=G>>>24)<=S);){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(z&&0==(240&z)){for(L=C,M=z,H=F;z=(G=r.lencode[H+((Z&(1<<L+M)-1)>>L)])>>>16&255,F=65535&G,!(L+(C=G>>>24)<=S);){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}Z>>>=L,S-=L,r.back+=L}if(Z>>>=C,S-=C,r.back+=C,r.length=F,0===z){r.mode=26;break}if(32&z){r.back=-1,r.mode=x;break}if(64&z){e.msg="invalid literal/length code",r.mode=E;break}r.extra=15&z,r.mode=22;case 22:if(r.extra){for(Y=r.extra;S<Y;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.length+=Z&(1<<r.extra)-1,Z>>>=r.extra,S-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;z=(G=r.distcode[Z&(1<<r.distbits)-1])>>>16&255,F=65535&G,!((C=G>>>24)<=S);){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(0==(240&z)){for(L=C,M=z,H=F;z=(G=r.distcode[H+((Z&(1<<L+M)-1)>>L)])>>>16&255,F=65535&G,!(L+(C=G>>>24)<=S);){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}Z>>>=L,S-=L,r.back+=L}if(Z>>>=C,S-=C,r.back+=C,64&z){e.msg="invalid distance code",r.mode=E;break}r.offset=F,r.extra=15&z,r.mode=24;case 24:if(r.extra){for(Y=r.extra;S<Y;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}r.offset+=Z&(1<<r.extra)-1,Z>>>=r.extra,S-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=E;break}r.mode=25;case 25:if(0===A)break e;if(T=U-A,r.offset>T){if((T=r.offset-T)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=E;break}T>r.wnext?(T-=r.wnext,D=r.wsize-T):D=r.wnext-T,T>r.length&&(T=r.length),I=r.window}else I=s,D=f-r.offset,T=r.length;T>A&&(T=A),A-=T,r.length-=T;do{s[f++]=I[D++]}while(--T);0===r.length&&(r.mode=21);break;case 26:if(0===A)break e;s[f++]=r.length,A--,r.mode=21;break;case 27:if(r.wrap){for(;S<32;){if(0===h)break e;h--,Z|=o[l++]<<S,S+=8}if(U-=A,e.total_out+=U,r.total+=U,U&&(e.adler=r.check=r.flags?a(r.check,s,U,f-U):t(r.check,s,U,f-U)),U=A,(r.flags?Z:R(Z))!==r.check){e.msg="incorrect data check" ,r.mode=E;break}Z=0,S=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;S<32;){if(0===h)break e;h--,Z+=o[l++]<<S,S+=8}if(Z!==(4294967295&r.total)){e.msg="incorrect length check" ,r.mode=E;break}Z=0,S=0}r.mode=29;case 29:K=m;break e;case E:K=v;break e;case 31:return g;case 32:default:return _}return e.next_out=f,e.avail_out=A,e.next_in=l,e.avail_in=h,r.hold=Z,r.bits=S,(r.wsize||U!==e.avail_out&&r.mode<E&&(r.mode<27||i!==c))&&N(e,e.output,e.next_out,U-e.avail_out),O-=e.avail_in,U-=e.avail_out,e.total_in+=O,e.total_out+=U,r.total+=U,r.wrap&&U&&(e.adler=r.check=r.flags?a(r.check,s,U,e.next_out-U):t(r.check,s,U,e.next_out-U)),e.data_type=r.bits+(r.last?64:0)+(r.mode===x?128:0)+(20===r.mode||15===r.mode?256:0),(0===O&&0===U||i===c)&&K===b&&(K=p),K},inflateEnd:function(e){if(!e||!e.state)return _;var t=e.state;return t.window&&(t.window=null),e.state=null,b},inflateGetHeader:function(e,t){if(!e||!e.state)return _;var i=e.state;return 0==(2&i.wrap)?_:(i.head=t,t.done=!1,b)},inflateSetDictionary:function(e,i){var a,n=i.length;return e&&e.state?0!==(a=e.state).wrap&&11!==a.mode?_:11===a.mode&&t(1,i,n,0)!==a.check?v:N(e,i,n,n)?(a.mode=31,g):(a.havedict=1,b):_},inflateInfo:"pako inflate (from Nodeca project)"};function z(e){return(z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var F=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},L=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!==z(i))throw new TypeError(i+"must be non-object");for(var a in i)F(i,a)&&(e[a]=i[a])}}return e},M=function(e){for(var t=0,i=0,a=e.length;i<a;i++)t+=e[i].length;for(var n=new Uint8Array(t),r=0,o=0,s=e.length;r<s;r++){var l=e[r];n.set(l,o),o+=l.length}return n},H=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){H=!1}for(var j=new Uint8Array(256),K=0;K<256;K++)j[K]=K>=252?6:K>=248?5:K>=240?4:K>=224?3:K>=192?2:1;j[254]=j[254]=1;var P=function(e){var t,i,a,n,r,o=e.length,s=0;for(n=0;n<o;n++)55296==(64512&(i=e.charCodeAt(n)))&&n+1<o&&56320==(64512&(a=e.charCodeAt(n+1)))&&(i=65536+(i-55296<<10)+(a-56320),n++),s+=i<128?1:i<2048?2:i<65536?3:4;for(t=new Uint8Array(s),r=0,n=0;r<s;n++)55296==(64512&(i=e.charCodeAt(n)))&&n+1<o&&56320==(64512&(a=e.charCodeAt(n+1)))&&(i=65536+(i-55296<<10)+(a-56320),n++),i<128?t[r++]=i:i<2048?(t[r++]=192|i>>>6,t[r++]=128|63&i):i<65536?(t[r++]=224|i>>>12,t[r++]=128|i>>>6&63,t[r++]=128|63&i):(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63,t[r++]=128|i>>>6&63,t[r++]=128|63&i);return t},Y=function(e,t){var i,a,n=t||e.length,r=new Array(2*n);for(a=0,i=0;i<n;){var o=e[i++];if(o<128)r[a++]=o;else{var s=j[o];if(s>4)r[a++]=65533,i+=s-1;else{for(o&=2===s?31:3===s?15:7;s>1&&i<n;)o=o<<6|63&e[i++],s--;s>1?r[a++]=65533:o<65536?r[a++]=o:(o-=65536,r[a++]=55296|o>>10&1023,r[a++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&H)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var i="" ,a=0;a<t;a++)i+=String.fromCharCode(e[a]);return i}(r,a)},G=function(e,t){(t=t||e.length)>e.length&&(t=e.length);for(var i=t-1;i>=0&&128==(192&e[i]);)i--;return i<0||0===i?t:i+j[e[i]]>t?i:t},X={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};var W=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};var q=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},J=Object.prototype.toString,Q=h.Z_NO_FLUSH,V=h.Z_FINISH,$=h.Z_OK,ee=h.Z_STREAM_END,te=h.Z_NEED_DICT,ie=h.Z_STREAM_ERROR,ae=h.Z_DATA_ERROR,ne=h.Z_MEM_ERROR;function re(e){this.options=L({chunkSize:65536,windowBits:15,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new W,this.strm.avail_out=0;var i=C.inflateInit2(this.strm,t.windowBits);if(i!==$)throw new Error(X[i]);if(this.header=new q,C.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=P(t.dictionary):"[object ArrayBuffer]"===J.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=C.inflateSetDictionary(this.strm,t.dictionary))!==$))throw new Error(X[i])}function oe(e,t){var i=new re(t);if(i.push(e),i.err)throw i.msg||X[i.err];return i.result}re.prototype.push=function(e,t){var i,a,n,r=this.strm,o=this.options.chunkSize,s=this.options.dictionary;if(this.ended)return!1;for(a=t===~~t?t:!0===t?V:Q,"[object ArrayBuffer]"===J.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(o),r.next_out=0,r.avail_out=o),(i=C.inflate(r,a))===te&&s&&((i=C.inflateSetDictionary(r,s))===$?i=C.inflate(r,a):i===ae&&(i=te));r.avail_in>0&&i===ee&&r.state.wrap>0&&0!==e[r.next_in];)C.inflateReset(r),i=C.inflate(r,a);switch(i){case ie:case ae:case te:case ne:return this.onEnd(i),this.ended=!0,!1}if(n=r.avail_out,r.next_out&&(0===r.avail_out||i===ee))if("string"===this.options.to){var l=G(r.output,r.next_out),f=r.next_out-l,d=Y(r.output,l);r.next_out=f,r.avail_out=o-f,f&&r.output.set(r.output.subarray(l,l+f),0),this.onData(d)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(i!==$||0!==n){if(i===ee)return i=C.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},re.prototype.onData=function(e){this.chunks.push(e)},re.prototype.onEnd=function(e){e===$&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=M(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var se=re,le=oe,fe=function(e,t){return(t=t||{}).raw=!0,oe(e,t)},de=oe,he=h,ce={Inflate:se,inflate:le,inflateRaw:fe,ungzip:de,constants:he};e.Inflate=se,e.constants=he,e.default=ce,e.inflate=le,e.inflateRaw=fe,e.ungzip=de,Object.defineProperty(e,"__esModule",{value:!0})}));
  /* beautify ignore:end */

  </script>

  <script type="text/javascript">
    const presetTable = {
      '1': 5440,
      '2': 5271,
      '3': 23058,
      '4': 5446,
      '6': 7734200,
      '10': 504273,
      '11': 1612585,
      '12': 46938,
      '13': 46936,
      '14': 46937,
      '15': 91625,
      '16': 20006,
      '17': 308892,
      '18': 5090,
      '19': 312785,
      '21': 638568,
      '22': 46939,
      '23': 13242892,
      '24': 13242941,
      '48': 63727,
      '54': 910884,
      '55': 21144080,
      '76': 14073662,
      '98': 11218604,
      '99': 127722,
      '101': 1804697,
      '102': 5279,
      '103': 34348,
      '104': 18060,
      '105': 5318,
      '106': 10157,
      '107': 5185,
      '108': 25032,
      '109': 12910,
      '110': 5193,
      '111': 15348,
      '112': 5031,
      '113': 11598,
      '114': 5170,
      '115': 1016,
      '116': 45104,
      '117': 5082,
      '118': 46716,
      '121': 11232,
      '122': 22361,
      '124': 37158,
      '125': 41044,
      '130': 34068,
      '131': 41029,
      '132': 39252,
      '133': 10101,
      '135': 21323,
      '137': 46316,
      '138': 36963,
      '139': 1029,
      '140': 13242,
      '141': 39996,
      '142': 53870,
      '143': 5227,
      '144': 41173,
      '146': 46737,
      '147': 24541,
      '148': 10313,
      '149': 54572,
      '150': 78347,
      '151': 5354,
      '153': 44458,
      '154': 50583,
      '155': 39936,
      '161': 96136,
      '162': 35598,
      '165': 75446,
      '166': 32421,
      '169': 18606,
      '170': 23719,
      '172': 58644,
      '173': 66818,
      '174': 38227,
      '175': 51037,
      '177': 43001,
      '178': 62565,
      '179': 68432,
      '181': 51627,
      '182': 75181,
      '184': 64540,
      '188': 142902,
      '189': 70270,
      '190': 74723,
      '191': 53579,
      '192': 55634,
      '193': 70155,
      '194': 26416,
      '195': 54869,
      '197': 109506,
      '199': 90061,
      '200': 94528,
      '203': 101320,
      '206': 56557,
      '208': 76650,
      '211': 56355,
      '212': 98608,
      '213': 47867,
      '215': 66287,
      '217': 271425,
      '218': 5294,
      '220': 272668,
      '221': 53847,
      '223': 24589,
      '224': 31441,
      '225': 97202,
      '226': 44347,
      '228': 37799,
      '230': 52507,
      '232': 277877,
      '234': 184686,
      '235': 268843,
      '236': 58072,
      '237': 75031,
      '238': 38459,
      '239': 347735,
      '240': 140011,
      '241': 93457,
      '242': 154800,
      '243': 55041,
      '244': 39189,
      '245': 27532,
      '246': 26057,
      '247': 14682,
      '248': 32731,
      '249': 258940,
      '251': 57690,
      '253': 109176,
      '254': 36600,
      '256': 127932,
      '257': 188995,
      '258': 177134,
      '259': 174331,
      '260': 34180,
      '261': 128308,
      '262': 291671,
      '264': 234024,
      '265': 340090,
      '266': 67336,
      '267': 335045,
      '268': 307467,
      '269': 295843,
      '270': 54241,
      '271': 430382,
      '272': 527315,
      '273': 53515,
      '274': 403237,
      '275': 46353,
      '276': 13566,
      '278': 306378,
      '279': 394518,
      '280': 151159,
      '281': 49728,
      '282': 62840,
      '283': 50855,
      '284': 5077,
      '285': 58881,
      '286': 170908,
      '287': 82393,
      '288': 521429,
      '289': 101609,
      '290': 330355,
      '291': 157012,
      '292': 61040,
      '293': 80045,
      '294': 59571,
      '296': 100849,
      '297': 1004,
      '298': 24567,
      '299': 35298,
      '300': 972579,
      '301': 272849,
      '302': 99023,
      '304': 350159,
      '305': 79558,
      '306': 50379,
      '307': 371020,
      '308': 996389,
      '310': 67223,
      '311': 55755,
      '312': 43088,
      '313': 151310,
      '314': 95278,
      '315': 74123,
      '316': 39019,
      '317': 30191,
      '318': 56237,
      '319': 290352,
      '320': 286893,
      '321': 37034,
      '322': 1308049,
      '323': 100106,
      '324': 282712,
      '326': 479592,
      '327': 497785,
      '328': 1007051,
      '329': 274926,
      '330': 337374,
      '331': 392287,
      '333': 180696,
      '334': 200344,
      '335': 893474,
      '336': 18619,
      '337': 49727,
      '338': 1453806,
      '339': 92075,
      '340': 102358,
      '341': 54440,
      '342': 44937,
      '343': 92786,
      '344': 984413,
      '345': 37275,
      '346': 44592,
      '347': 93283,
      '348': 1312749,
      '349': 41645,
      '350': 214309,
      '351': 538760,
      '352': 53878,
      '353': 1358136,
      '354': 97835,
      '355': 1500221,
      '356': 54040,
      '357': 404538,
      '358': 977475,
      '359': 45827,
      '360': 590806,
      '361': 60024,
      '362': 271272,
      '363': 1239334,
      '364': 37162,
      '365': 60050,
      '366': 382125,
      '367': 1175880,
      '368': 407697,
      '370': 46804,
      '371': 1494611,
      '372': 482156,
      '373': 356781,
      '374': 882855,
      '375': 28382,
      '376': 81450,
      '377': 3125619,
      '378': 283352,
      '379': 939654,
      '380': 19238,
      '381': 2966599,
      '382': 157988,
      '383': 1466954,
      '384': 44133,
      '385': 127816,
      '386': 2696849,
      '387': 280446,
      '388': 5096,
      '389': 67018,
      '391': 1047975,
      '393': 1007697,
      '394': 271506,
      '395': 1543939,
      '396': 29101,
      '397': 332946,
      '398': 155068,
      '399': 5275,
      '400': 1533925,
      '401': 156262,
      '402': 40519,
      '403': 426333,
      '404': 12265,
      '407': 1558590,
      '408': 149608,
      '409': 287969,
      '410': 2640543,
      '411': 182607,
      '412': 314368,
      '413': 635644,
      '415': 3607547,
      '416': 1808411,
      '417': 3334931,
      '418': 3514612,
      '419': 3151254,
      '420': 99266,
      '421': 1481949,
      '422': 333048,
      '423': 237328,
      '424': 1560442,
      '425': 545498,
      '427': 290891,
      '428': 1365604,
      '429': 41811,
      '430': 78787,
      '431': 227311,
      '432': 81697,
      '433': 1621877,
      '434': 906948,
      '435': 43299,
      '436': 67326,
      '437': 4751957,
      '438': 390480,
      '439': 3742025,
      '440': 498388,
      '441': 3604605,
      '442': 2502634,
      '443': 1133793,
      '445': 1165213,
      '446': 56948,
      '447': 1250611,
      '448': 96348,
      '449': 49064,
      '451': 11713,
      '452': 2546837,
      '453': 3744836,
      '454': 52850,
      '455': 179643,
      '456': 20375,
      '457': 886370,
      '458': 1081638,
      '459': 280070,
      '460': 543359,
      '461': 17778,
      '462': 763679,
      '463': 20815,
      '464': 35720,
      '465': 37338,
      '466': 36250,
      '467': 193520,
      '468': 525892,
      '469': 90713,
      '471': 3878601,
      '472': 900877,
      '473': 55623,
      '474': 92681,
      '475': 101795,
      '476': 3144150,
      '477': 1273106,
      '478': 3948585,
      '479': 617484,
      '480': 1255823,
      '481': 266571,
      '482': 3017670,
      '483': 100432,
      '485': 35032,
      '486': 16308,
      '487': 2999385,
      '488': 1533308,
      '489': 3495920,
      '491': 58725,
      '492': 35932,
      '493': 360972,
      '494': 389332,
      '495': 750666,
      '496': 24863,
      '497': 527395,
      '498': 382110,
      '499': 926496,
      '502': 1589452,
      '503': 44221,
      '504': 14177,
      '505': 5636118,
      '506': 1254457,
      '507': 49262,
      '508': 4524082,
      '509': 2976055,
      '510': 80397,
      '511': 40764,
      '512': 933508,
      '513': 29183,
      '515': 281810,
      '516': 868388,
      '517': 235914,
      '519': 424902,
      '522': 423227,
      '523': 340970,
      '524': 2155911,
      '525': 394681,
      '526': 5311231,
      '527': 100377,
      '528': 5441,
      '529': 1569975,
      '530': 67272,
      '531': 22237,
      '532': 2551934,
      '533': 57228,
      '534': 2434431,
      '536': 64152,
      '537': 435048,
      '539': 2717624,
      '540': 1512103,
      '541': 1161960,
      '542': 459020,
      '544': 4719881,
      '545': 573893,
      '546': 79171,
      '547': 33379,
      '548': 2785651,
      '549': 284560,
      '550': 40195,
      '551': 1225507,
      '552': 10248,
      '553': 175412,
      '554': 11609,
      '555': 33140,
      '556': 11926,
      '557': 5438584,
      '558': 17793,
      '559': 13074,
      '560': 75927,
      '561': 771423,
      '562': 392351,
      '563': 981813,
      '565': 126556,
      '566': 33671,
      '567': 21338960,
      '568': 19507,
      '569': 29976,
      '570': 1139700,
      '571': 5375,
      '573': 78956,
      '574': 4891501,
      '575': 161237,
      '576': 6257063,
      '577': 1105379,
      '578': 1881758,
      '579': 430063,
      '580': 331417,
      '581': 1245393,
      '582': 98631,
      '583': 6375025,
      '584': 4288067,
      '585': 173329,
      '586': 4715436,
      '587': 154962,
      '589': 713181,
      '590': 847617,
      '591': 2387504,
      '592': 4720666,
      '593': 47377,
      '594': 544941,
      '595': 353421,
      '597': 491683,
      '598': 2266077,
      '599': 1329719,
      '601': 32494,
      '602': 271628,
      '603': 1271585,
      '604': 929493,
      '605': 6374209,
      '606': 919991,
      '607': 270973,
      '608': 5257,
      '609': 1482339,
      '610': 905813,
      '611': 3975199,
      '612': 92450,
      '613': 1401657,
      '614': 3783044,
      '615': 7277177,
      '616': 8016907,
      '617': 1518632,
      '619': 231322,
      '620': 1275151,
      '621': 50439,
      '622': 276954,
      '623': 4187692,
      '624': 2339900,
      '625': 97496,
      '626': 6290031,
      '627': 311582,
      '628': 4301689,
      '629': 765408,
      '630': 379770,
      '631': 41682,
      '632': 869833,
      '633': 594763,
      '634': 4068750,
      '635': 5297,
      '636': 5503854,
      '637': 1315769,
      '638': 5177,
      '639': 6505362,
      '640': 5450114,
      '641': 3969859,
      '642': 545352,
      '643': 828620,
      '644': 869069,
      '645': 58987,
      '646': 21133,
      '647': 30493,
      '648': 309954,
      '649': 7972139,
      '650': 4350043,
      '651': 61289,
      '652': 8138957,
      '653': 295476,
      '654': 8334996,
      '655': 8375783,
      '656': 971977,
      '657': 1495752,
      '658': 63129,
      '659': 4631694,
      '660': 4857371,
      '661': 901192,
      '662': 3817535,
      '663': 5205,
      '664': 544755,
      '665': 10620,
      '666': 452065,
      '667': 31374,
      '668': 821119,
      '669': 9115569,
      '670': 3556263,
      '673': 2303412,
      '674': 443346,
      '675': 5824317,
      '676': 1590646,
      '677': 91761,
      '678': 1722213,
      '679': 53428,
      '680': 313285,
      '681': 54912,
      '682': 63015,
      '683': 8688788,
      '684': 66251,
      '685': 3807617,
      '686': 91137,
      '687': 162586,
      '688': 8965660,
      '689': 883802,
      '690': 3066386,
      '691': 10054261,
      '692': 544893,
      '693': 919919,
      '694': 3561767,
      '695': 1005703,
      '696': 433551,
      '697': 1440094,
      '698': 19225,
      '699': 11361154,
      '700': 538812,
      '701': 29780,
      '702': 1332655,
      '703': 56998,
      '704': 8044443,
      '705': 8045929,
      '706': 8102574,
      '707': 5989192,
      '708': 8695080,
      '709': 922045,
      '710': 1328386,
      '711': 5620350,
      '712': 10185039,
      '713': 2800330,
      '714': 516043,
      '715': 3567937,
      '716': 2650672,
      '717': 46744,
      '718': 2302638,
      '719': 44278,
      '720': 82552,
      '721': 4870575,
      '722': 8693812,
      '723': 7735393,
      '724': 9562375,
      '725': 94458,
      '726': 2910685,
      '727': 1374115,
      '728': 1035273,
      '729': 64448,
      '730': 4306336,
      '732': 6154037,
      '733': 12276230,
      '734': 81711,
      '735': 41729,
      '736': 544609,
      '737': 920309,
      '738': 5054,
      '739': 944865,
      '740': 544780,
      '741': 495714,
      '742': 3808634,
      '765': 4010589,
      '766': 544625,
      '777': 2717660,
      '780': 390638,
      '828': 99783,
      '888': 7685334,
      '910': 21482915,
      '929': 5612068,
      '1000': 5067
    }

    const encoder = ({ type, body = '' }) => {
      if (typeof body !== 'string') {
        body = JSON.stringify(body)
      }
      let head = new DataView(new ArrayBuffer(16))
      let buffer = new TextEncoder().encode(body)

      head.setInt32(0, buffer.length + head.byteLength)
      head.setInt16(4, 16)
      head.setInt16(6, 1)
      if (type === 'heartbeat') {
        head.setInt32(8, 2)
      }
      if (type === 'join') {
        head.setInt32(8, 7)
      }
      head.setInt32(12, 1)
      return new Uint8Array([...new Uint8Array(head.buffer), ...buffer])
    }

    const decoder = view => {
      let packs = []
      for (let i = 0; i < view.byteLength;) {
        let size = view.getInt32(i)
        packs.push(new DataView(view.buffer.slice(i, i + size)))
        i += size
      }
      let realPack = []
      for (let i = 0; i < packs.length; i++) {
        let buf = packs[i]
        let head = buf.getInt16(4)

        let body = buf.buffer.slice(head)
        let protocol = buf.getInt16(6)
        let operation = buf.getInt32(8)

        let type
        if (operation === 3) {
          type = 'heartbeat'
        }
        if (operation === 5) {
          type = 'message'
        }
        if (operation === 8) {
          type = 'welcome'
        }

        let data
        if (protocol === 0) {
          data = JSON.parse(new TextDecoder().decode(body))
        }
        if (protocol === 1 && body.byteLength) {
          data = new DataView(body).getInt32(0)
        }

        realPack.push({ type, data })

        if (protocol === 2) {
          realPack.push(...decoder(new DataView(pako.inflate(body).buffer)))
        }

      }

      return realPack
    }

    const roomid = presetTable[new URL(location.href).searchParams.get('roomid')] || Number(new URL(location.href).searchParams.get('roomid'))
    const css = new URL(location.href).searchParams.get('css')
    console.log('super bilibili live danmaku displayer on any modern browser which supports javascript to some extent is now started')
    console.log(`roomid: ${roomid}`)

    if (css === 'localStorage') {
      if (localStorage.css) {
        console.log('css: localStorage')
        document.getElementById('css').innerHTML = localStorage.css
      }
      css = undefined
    }

    if (css) {
      console.log(`css: ${css.length}`)
      document.getElementById('css').innerHTML = css
    }

    const createElement = tag => {
      let e = document.createElement(tag)
      const setAttribute = e.setAttribute
      e.set = (...params) => {
        e.setAttribute(...params)
        return e
      }
      e.setId = (...params) => e.set('id', ...params)
      e.class = (...params) => e.set('class', ...params)
      e.append = (...params) => {
        e.appendChild(...params)
        return e
      }
      return e
    }

    const createTextNode = (...params) => document.createTextNode(...params)

    if (!roomid) {
      console.log('No roomid')
      document.head.appendChild(
        createElement('style')
        .append(
          createTextNode(`
            .helper {
              display: block;
            }

            * {
                font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
              }
            `)
        )
      )
    }

    const updateURL = () => {
      let roomid = Number(document.getElementsByName('roomid')[0].value)
      let css = document.getElementsByName('css')[0].value
      let url = `https://chat.vtbs.moe/?roomid=${roomid}`
      if (css.length) {
        localStorage.css = css
        url += `&css=localStorage`
      }
      document.getElementById('urlResult').href = url
      document.getElementById('urlResult').innerText = url
    }

    const render = e => {
      let { cmd } = e
      if (cmd.includes('DANMU_MSG')) {
        let { info } = e
        if (!info[0][9]) {
          let s = new Date().getSeconds()
          if (s < 10) {
            s = String(`0${s}`)
          }
          let time = `${new Date().getMinutes()}:${s}`
          return renderDanmaku({ username: info[2][1], content: info[1], time })
        }
      }
    }

    const renderDanmaku = ({ username, content, time }) => createElement('yt-live-chat-text-message-renderer')
      .class('style-scope yt-live-chat-item-list-renderer')
      .set('author-type', '')
      .append(
        createElement('yt-img-shadow')
        .set('height', '24')
        .set('width', '24')
        .class('no-transition style-scope yt-live-chat-text-message-renderer')
        .setId('author-photo')
        .set('style', 'background-color: transparent;')
        .append(
          createElement('img')
          .setId('img')
          .set('height', '24')
          .set('width', '24')
          .set('src', 'https://static.hdslb.com/images/member/noface.gif')
          .class('style-scope yt-img-shadow')
        )
      )
      .append(
        createElement('div')
        .setId('content')
        .class('style-scope yt-live-chat-text-message-renderer')
        .append(
          createElement('span')
          .setId('timestamp')
          .class('style-scope yt-live-chat-text-message-renderer')
          .append(createTextNode(time))
        )
        .append(
          createElement('yt-live-chat-author-chip')
          .class('style-scope yt-live-chat-text-message-renderer')
          .append(
            createElement('span')
            .setId('author-name')
            .set('dir', 'auto')
            .set('type', '')
            .append(createTextNode(username))
            .append(
              createElement('span')
              .setId('chip-badges')
              .class('style-scope yt-live-chat-author-chip')
            )
          )
          .append(
            createElement('span')
            .setId('chat-badges')
            .class('style-scope yt-live-chat-author-chip')
          )
        )
        .append(
          createElement('span')
          .setId('message')
          .class('style-scope yt-live-chat-text-message-renderer')
          .append(createTextNode(content))
        )
      )

  </script>

  <script type="text/javascript" id="script">
    const aWebSocket = new WebSocket('wss://broadcastlv.chat.bilibili.com/sub')
    aWebSocket.binaryType = 'arraybuffer'

    aWebSocket.onclose = () => {
      console.log('WebSocket close')
      console.log('restart')
      eval(document.getElementById('script').innerHTML)
    }

    aWebSocket.onopen = () => {
      console.log('WebSocket open')
      let buf = encoder({
        type: 'join',
        body: { uid: 0, roomid, protover: 2, platform: 'web', clientver: '1.6.3', type: 2 }
      })
      aWebSocket.send(buf)
    }

    aWebSocket.onmessage = ({ data }) => {
      decoder(new DataView(data))
        .map(pack => {
          if (pack.type === 'welcome') {
            aWebSocket.send(encoder({ type: 'heartbeat' }))
          }
          if (pack.type === 'heartbeat') {
            console.log('heartbeat')
            setTimeout(() => aWebSocket.send(encoder({ type: 'heartbeat' })), 1000 * 30)
          }
          if (pack.type === 'message') {
            return pack.data
          }
        })
        .filter(Boolean)
        .forEach(e => setTimeout(() => {
          let element = render(e)
          if (element) {
            document.getElementsByClassName('chathere')[0].appendChild(element)
          }
          if (document.getElementsByClassName('chathere')[0].children.length > 256) {
            document.getElementsByClassName('chathere')[0].removeChild(document.getElementsByClassName('chathere')[0].children[0])
          }
        }, Math.random() * 1000))
    }

  </script>
</head>

<body>
  <div class="helper">
    <h1>super bilibili live danmaku displayer on any modern browser which supports javascript to some extent</h1>
    URL/链接:
    <a id="urlResult" target="_blank" href="https://chat.vtbs.moe/?roomid=0">https://chat.vtbs.moe/?roomid=0</a>
    <br>
    <br>
    Roomid/房间号:
    <br>
    <input oninput="updateURL()" type="number" name="roomid">
    <br>
    <br>
    自定义CSS: <a href="https://style.vtbs.moe">https://style.vtbs.moe</a>
    <br>
    <textarea oninput="updateURL()" rows="8" cols="80" name="css"></textarea>
  </div>
  <yt-live-chat-renderer>
    <yt-live-chat-ticker-renderer class="style-scope yt-live-chat-renderer">
      <div id="container" dir="ltr" class="style-scope yt-live-chat-ticker-renderer">
        <div id="items" class="style-scope yt-live-chat-ticker-renderer">
          <yt-live-chat-ticker-paid-message-item-renderer tabindex="0" class="style-scope yt-live-chat-ticker-renderer" style="overflow: hidden;">
            <div id="container" dir="ltr" class="style-scope yt-live-chat-ticker-paid-message-item-renderer" style="background-image: linear-gradient(90deg, rgb(230, 33, 23), rgb(230, 33, 23) 87.21455555555555%, rgb(208, 0, 0) 87.21455555555555%, rgb(208, 0, 0)); background-position: initial initial; background-repeat: initial initial;">
              <div id="content" class="style-scope yt-live-chat-ticker-paid-message-item-renderer" style="color: rgb(255, 255, 255);">
                <yt-img-shadow height="24" width="24" loaded="" class="no-transition style-scope yt-live-chat-ticker-paid-message-item-renderer" id="author-photo" style="background-color: transparent;">
                  <img id="img" alt="" height="24" width="24" src="https://static.hdslb.com/images/member/noface.gif" class="style-scope yt-img-shadow">
                </yt-img-shadow>
                <span id="text" dir="ltr" class="style-scope yt-live-chat-ticker-paid-message-item-renderer">CN¥1245</span>
              </div>
            </div>
          </yt-live-chat-ticker-paid-message-item-renderer>
        </div>
      </div>
    </yt-live-chat-ticker-renderer>



    <yt-live-chat-item-list-renderer>
      <div id="item-scroller" class="style-scope yt-live-chat-item-list-renderer">
        <div id="item-offset" class="style-scope yt-live-chat-item-list-renderer" style="height: 100vh;">
          <div id="items" class="style-scope yt-live-chat-item-list-renderer chathere" style="overflow: hidden; transform: translateY(0px); position: absolute; bottom: 0;">


          </div>
        </div>
      </div>
    </yt-live-chat-item-list-renderer>
  </yt-live-chat-renderer>
</body>

</html>
